ua_services_monitoreditems.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  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(SL_Channel *channel, const UA_CreateMonitoredItemsRequest *request, UA_CreateMonitoredItemsResponse *response) {
  6. if (request->itemsToCreateSize > 0) {
  7. response->resultsSize = request->itemsToCreateSize;
  8. UA_Array_new((void**)&(response->results),response->resultsSize,&UA_.types[UA_MONITOREDITEMCREATERESULT]);
  9. for (int i=0;request->itemsToCreateSize > 0 && i < request->itemsToCreateSize;i++) {
  10. UA_NodeId_printf("CreateMonitoredItems - itemToCreate=",&(request->itemsToCreate[i].itemToMonitor.nodeId));
  11. //FIXME: search the object in the namespace
  12. if (request->itemsToCreate[i].itemToMonitor.nodeId.identifier.numeric == 2253) { // server
  13. response->results[i].statusCode = UA_STATUSCODE_GOOD;
  14. response->results[i].monitoredItemId = 1024;
  15. response->results[i].revisedSamplingInterval = 100000;
  16. response->results[i].revisedQueueSize = 1;
  17. } else {
  18. // response->results[i]->statusCode = UA_STATUSCODE_BAD_NODEIDUNKNOWN;
  19. response->results[i].statusCode = -1;
  20. }
  21. }
  22. }
  23. //mock up
  24. return UA_SUCCESS;
  25. }
  26. //#endif