Browse Source

NodeId of monitored nodes is now being registered with MonitoredItems to enable server nodestore search operations.

ichrispa 9 years ago
parent
commit
5d9fbc2146
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/server/ua_services_subscription.c

+ 2 - 1
src/server/ua_services_subscription.c

@@ -87,6 +87,7 @@ void Service_CreateMonitoredItems(UA_Server *server, UA_Session *session,
             
             newMon = UA_MonitoredItem_new();
             newMon->monitoredNode = UA_NodeStore_get(server->nodestore, (const UA_NodeId *) &(thisItemsRequest->itemToMonitor.nodeId));
+            UA_NodeId_copy(&(newMon->monitoredNode->nodeId), &(newMon->monitoredNodeId));
             newMon->ItemId = ++(session->subscriptionManager.LastSessionID);
             thisItemsResult->monitoredItemId = newMon->ItemId;
             
@@ -147,7 +148,7 @@ void Service_Publish(UA_Server *server, UA_Session *session,
         // FIXME: We are forcing a value update for monitored items. This should be done by the event system.
         if (sub->MonitoredItems.lh_first != NULL) {  
             for(mon=sub->MonitoredItems.lh_first; mon != NULL; mon=mon->listEntry.le_next) {
-                MonitoredItem_QueuePushDataValue(mon);
+                MonitoredItem_QueuePushDataValue(server, mon);
             }
         }