ua_services_monitoreditems.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "ua_services.h"
  2. #include "ua_statuscodes.h"
  3. //#if 0
  4. /* Activate once the infrastructure for pushing events is in place. */
  5. UA_Int32 Service_CreateMonitoredItems(UA_Server *server, UA_Session *session,
  6. const UA_CreateMonitoredItemsRequest *request,
  7. UA_CreateMonitoredItemsResponse *response) {
  8. if (request->itemsToCreateSize > 0) {
  9. response->resultsSize = request->itemsToCreateSize;
  10. UA_Array_new((void**)&(response->results),response->resultsSize,&UA_.types[UA_MONITOREDITEMCREATERESULT]);
  11. for (int i=0;request->itemsToCreateSize > 0 && i < request->itemsToCreateSize;i++) {
  12. #ifdef DEBUG
  13. UA_NodeId_printf("CreateMonitoredItems - itemToCreate=",&(request->itemsToCreate[i].itemToMonitor.nodeId));
  14. #endif
  15. //FIXME: search the object in the namespace
  16. if (request->itemsToCreate[i].itemToMonitor.nodeId.identifier.numeric == 2253) { // server
  17. response->results[i].statusCode = UA_STATUSCODE_GOOD;
  18. response->results[i].monitoredItemId = 1;
  19. response->results[i].revisedSamplingInterval = 4294967295;
  20. response->results[i].revisedQueueSize = 0;
  21. } else {
  22. // response->results[i]->statusCode = UA_STATUSCODE_BAD_NODEIDUNKNOWN;
  23. response->results[i].statusCode = -1;
  24. }
  25. }
  26. }
  27. //mock up
  28. return UA_SUCCESS;
  29. }
  30. //#endif