00001 #ifndef UA_NODESTORE_H_ 00002 #define UA_NODESTORE_H_ 00003 00004 #include "ua_types_generated.h" 00005 #include "ua_nodes.h" 00006 00028 struct UA_NodeStore; 00029 typedef struct UA_NodeStore UA_NodeStore; 00030 00032 UA_NodeStore * UA_NodeStore_new(void); 00033 00035 void UA_NodeStore_delete(UA_NodeStore *ns); 00036 00044 UA_StatusCode UA_NodeStore_insert(UA_NodeStore *ns, UA_Node *node, const UA_Node **inserted); 00045 00051 UA_StatusCode UA_NodeStore_replace(UA_NodeStore *ns, const UA_Node *oldNode, UA_Node *node, const UA_Node **inserted); 00052 00057 UA_StatusCode UA_NodeStore_remove(UA_NodeStore *ns, const UA_NodeId *nodeid); 00058 00064 const UA_Node * UA_NodeStore_get(const UA_NodeStore *ns, const UA_NodeId *nodeid); 00065 00070 void UA_NodeStore_release(const UA_Node *managed); 00071 00076 typedef void (*UA_NodeStore_nodeVisitor)(const UA_Node *node); 00077 00079 void UA_NodeStore_iterate(const UA_NodeStore *ns, UA_NodeStore_nodeVisitor visitor); 00080 00083 #endif /* UA_NODESTORE_H_ */