DLLEXP struct pdb_node_t* pdb_create_abstract(struct pdb* dbptr, char* path, char* key, void* data, void* free_cb) { struct pdb_node_t* nptr = NULL; nptr = pdb_set_node(dbptr, path, key, data, ABSTRACT_NODE_TYPE); if (!nptr) return NULL; pdb_set_free_method(dbptr, nptr, free_cb); return nptr; }
/* * Set a node's data. If it does not exist, create it. * Return a pointer to the node. * * This is for string node types. */ DLLEXP struct pdb_node_t* pdb_set(struct pdb* dbptr, char* path, char* key, void* data) { return (pdb_set_node(dbptr, path, key, data, STRING_NODE_TYPE)); }
DLLEXP struct pdb_node_t* pdb_set_int(struct pdb* dbptr, char* path, char* key, int data) { return pdb_set_node(dbptr, path, key, &data, INT_NODE_TYPE); }
DLLEXP struct pdb_node_t* pdb_create_hash(struct pdb* dbptr, char* path, char* key, int size) { return pdb_set_node(dbptr, path, key, &size, HASH_NODE_TYPE); }
DLLEXP struct pdb_node_t* pdb_create_list(struct pdb* dbptr, char* path, char* key) { return pdb_set_node(dbptr, path, key, NULL, LIST_NODE_TYPE); }
DLLEXP struct pdb_node_t* pdb_create_tree(struct pdb* dbptr, char* path, char* key) { return pdb_set_node(dbptr, path, key, NULL, TREE_NODE_TYPE); }