Переглянути джерело

Fixed instantiation callback: We want to know which node was created from what type. Due to proper and consquetial typeDef handling, this reported mostly baseDataVariableTypes... which isn't helpful to userspace at all.

ichrispa 8 роки тому
батько
коміт
f78131a469
1 змінених файлів з 6 додано та 0 видалено
  1. 6 0
      src/server/ua_services_nodemanagement.c

+ 6 - 0
src/server/ua_services_nodemanagement.c

@@ -79,6 +79,9 @@ copyExistingVariable(UA_Server *server, UA_Session *session, const UA_NodeId *va
      * These objects may not be part of the nodes type.
      */
     copyChildNodesToNode(server, session, &node->nodeId, &res.addedNodeId, instantiationCallback);
+    if(instantiationCallback)
+        instantiationCallback->method(res.addedNodeId, node->nodeId, 
+                                      instantiationCallback->handle);
     
     UA_NodeId_deleteMembers(&res.addedNodeId);
     return res.statusCode;
@@ -130,6 +133,9 @@ copyExistingObject(UA_Server *server, UA_Session *session, const UA_NodeId *obje
      * These objects may not be part of the nodes type.
      */
     copyChildNodesToNode(server, session, &node->nodeId, &res.addedNodeId, instantiationCallback);
+    if(instantiationCallback)
+        instantiationCallback->method(res.addedNodeId, node->nodeId, 
+                                      instantiationCallback->handle);
     
     UA_NodeId_deleteMembers(&res.addedNodeId);