Browse Source

fix returning NothingTodo in the Browse service

Julius Pfrommer 7 years ago
parent
commit
563fb3a9ba
3 changed files with 11 additions and 10 deletions
  1. 2 1
      src/server/ua_server_internal.h
  2. 1 2
      src/server/ua_server_utils.c
  3. 8 7
      src/server/ua_services_view.c

+ 2 - 1
src/server/ua_server_internal.h

@@ -241,7 +241,8 @@ UA_Server_processServiceOperations(UA_Server *server, UA_Session *session,
                                    const size_t *requestOperations,
                                    const UA_DataType *requestOperationsType,
                                    size_t *responseOperations,
-                                   const UA_DataType *responseOperationsType);
+                                   const UA_DataType *responseOperationsType)
+    UA_FUNC_ATTR_WARN_UNUSED_RESULT;
 
 /***************************************/
 /* Check Information Model Consistency */

+ 1 - 2
src/server/ua_server_utils.c

@@ -384,8 +384,7 @@ UA_Server_editNode(UA_Server *server, UA_Session *session,
 UA_StatusCode
 UA_Server_processServiceOperations(UA_Server *server, UA_Session *session,
                                    UA_ServiceOperation operationCallback,
-                                   void *context,
-                                   const size_t *requestOperations,
+                                   void *context, const size_t *requestOperations,
                                    const UA_DataType *requestOperationsType,
                                    size_t *responseOperations,
                                    const UA_DataType *responseOperationsType) {

+ 8 - 7
src/server/ua_services_view.c

@@ -309,8 +309,7 @@ Operation_Browse(UA_Server *server, UA_Session *session, UA_UInt32 *maxrefs,
 
 void Service_Browse(UA_Server *server, UA_Session *session,
                     const UA_BrowseRequest *request, UA_BrowseResponse *response) {
-    UA_LOG_DEBUG_SESSION(server->config.logger, session,
-                         "Processing BrowseRequest");
+    UA_LOG_DEBUG_SESSION(server->config.logger, session, "Processing BrowseRequest");
 
     /* No views supported at the moment */
     if(!UA_NodeId_isNull(&request->view.viewId)) {
@@ -319,10 +318,11 @@ void Service_Browse(UA_Server *server, UA_Session *session,
     }
 
     UA_UInt32 requestedMaxReferencesPerNode = request->requestedMaxReferencesPerNode;
-    UA_Server_processServiceOperations(server, session, (UA_ServiceOperation)Operation_Browse,
-                                       &requestedMaxReferencesPerNode,
-                                       &request->nodesToBrowseSize, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION],
-                                       &response->resultsSize, &UA_TYPES[UA_TYPES_BROWSERESULT]);
+    response->responseHeader.serviceResult =
+        UA_Server_processServiceOperations(server, session, (UA_ServiceOperation)Operation_Browse,
+                                           &requestedMaxReferencesPerNode,
+                                           &request->nodesToBrowseSize, &UA_TYPES[UA_TYPES_BROWSEDESCRIPTION],
+                                           &response->resultsSize, &UA_TYPES[UA_TYPES_BROWSERESULT]);
 }
 
 UA_BrowseResult
@@ -708,7 +708,8 @@ Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *session,
     }
 
     response->responseHeader.serviceResult =
-        UA_Server_processServiceOperations(server, session, (UA_ServiceOperation)Operation_TranslateBrowsePathToNodeIds,
+        UA_Server_processServiceOperations(server, session,
+                                           (UA_ServiceOperation)Operation_TranslateBrowsePathToNodeIds,
                                            NULL, &request->browsePathsSize, &UA_TYPES[UA_TYPES_BROWSEPATH],
                                            &response->resultsSize, &UA_TYPES[UA_TYPES_BROWSEPATHRESULT]);
 }