ua_services_monitoreditems.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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,
  11. &UA_.types[UA_MONITOREDITEMCREATERESULT]);
  12. for(int i = 0;request->itemsToCreateSize > 0 && i < request->itemsToCreateSize;i++) {
  13. #ifdef DEBUG
  14. UA_NodeId_printf("CreateMonitoredItems - itemToCreate=",
  15. &(request->itemsToCreate[i].itemToMonitor.nodeId));
  16. #endif
  17. //FIXME: search the object in the namespace
  18. if(request->itemsToCreate[i].itemToMonitor.nodeId.identifier.numeric == 2253) { // server
  19. response->results[i].statusCode = UA_STATUSCODE_GOOD;
  20. response->results[i].monitoredItemId = 1;
  21. response->results[i].revisedSamplingInterval = 4294967295;
  22. response->results[i].revisedQueueSize = 0;
  23. } else {
  24. // response->results[i]->statusCode = UA_STATUSCODE_BAD_NODEIDUNKNOWN;
  25. response->results[i].statusCode = -1;
  26. }
  27. }
  28. }
  29. //mock up
  30. return UA_SUCCESS;
  31. }
  32. //#endif