Browse Source

Added Clientside UA_Client_delete<Type>Node aliases for UA_Client_deleteNode().

ichrispa 9 years ago
parent
commit
4eacf599f6
4 changed files with 122 additions and 11 deletions
  1. 85 10
      doc/tutorial_nodes.rst
  2. 1 1
      examples/client.c
  3. 17 0
      include/ua_client.h
  4. 19 0
      src/client/ua_client.c

File diff suppressed because it is too large
+ 85 - 10
doc/tutorial_nodes.rst


+ 1 - 1
examples/client.c

@@ -250,7 +250,7 @@ int main(int argc, char *argv[]) {
     void *theCopy;
     UA_Client_getNodeCopy(client, retNodeId, (void*) &theCopy);
     
-    UA_Client_deleteNode(client, UA_NODEID_NUMERIC(1,62541));
+    UA_Client_deleteMethodNode(client, UA_NODEID_NUMERIC(1,62541));
     
     UA_Client_disconnect(client);
     UA_Client_delete(client);

+ 17 - 0
include/ua_client.h

@@ -64,6 +64,23 @@ UA_DeleteReferencesResponse UA_EXPORT
 UA_StatusCode UA_EXPORT
 UA_Client_deleteNode(UA_Client *client, UA_NodeId nodeId);
 
+#define UA_CLIENT_DELETENODETYPEALIAS_DECL(TYPE) \
+UA_StatusCode UA_EXPORT UA_Client_delete##TYPE##Node(UA_Client *client, UA_NodeId nodeId);
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(Object)
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(Variable)
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(ObjectType)
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(VariableType)
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(DataType)
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(Method)
+
+UA_CLIENT_DELETENODETYPEALIAS_DECL(View)
+
 #ifdef ENABLE_METHODCALLS
 UA_CallResponse UA_EXPORT UA_Client_call(UA_Client *client, UA_CallRequest *request);
 UA_StatusCode UA_EXPORT UA_Client_CallServerMethod(UA_Client *client, UA_NodeId objectNodeId, UA_NodeId methodNodeId,

+ 19 - 0
src/client/ua_client.c

@@ -994,6 +994,11 @@ UA_StatusCode UA_Client_CallServerMethod(UA_Client *client, UA_NodeId objectNode
 #endif
 
 /* Delete Node */
+#define UA_CLIENT_DELETENODETYPEALIAS(TYPE) \
+UA_StatusCode UA_Client_delete##TYPE##Node(UA_Client *client, UA_NodeId nodeId) { \
+  return UA_Client_deleteNode(client, nodeId);\
+}
+
 UA_StatusCode UA_Client_deleteNode(UA_Client *client, UA_NodeId nodeId) {
   UA_DeleteNodesRequest *drq = UA_DeleteNodesRequest_new();
   UA_DeleteNodesResponse drs;
@@ -1015,6 +1020,20 @@ UA_StatusCode UA_Client_deleteNode(UA_Client *client, UA_NodeId nodeId) {
   return retval;
 }
 
+UA_CLIENT_DELETENODETYPEALIAS(Object)
+
+UA_CLIENT_DELETENODETYPEALIAS(Variable)
+
+UA_CLIENT_DELETENODETYPEALIAS(ObjectType)
+
+UA_CLIENT_DELETENODETYPEALIAS(VariableType)
+
+UA_CLIENT_DELETENODETYPEALIAS(DataType)
+
+UA_CLIENT_DELETENODETYPEALIAS(Method)
+
+UA_CLIENT_DELETENODETYPEALIAS(View)
+
 #define ADDNODES_COPYDEFAULTATTRIBUTES(REQUEST,ATTRIBUTES) do {                           \
     ATTRIBUTES.specifiedAttributes = 0;                                                   \
     if(! UA_LocalizedText_copy(&description, &(ATTRIBUTES.description)))                  \