|
@@ -14,11 +14,17 @@ extern "C" {
|
|
*
|
|
*
|
|
* Services
|
|
* Services
|
|
* ========
|
|
* ========
|
|
- * The services defined in the OPC UA standard. */
|
|
|
|
|
|
+ *
|
|
|
|
+ * This section contains the services defined in the OPC UA standard grouped
|
|
|
|
+ * into service sets. Their definition is internal and *not visible to users*.
|
|
|
|
+ * Still, we present them here for an overview of the capabilities of OPC UA.
|
|
|
|
+ * Please refer to the :ref:`client` and :ref:`server` API where the services
|
|
|
|
+ * are exposed to end users. */
|
|
/* Most services take as input the server, the current session and pointers to
|
|
/* Most services take as input the server, the current session and pointers to
|
|
- the request and response. The possible error codes are returned as part of
|
|
|
|
- the response. */
|
|
|
|
-typedef void (*UA_Service)(UA_Server*, UA_Session*, const void*, void*);
|
|
|
|
|
|
+ the request and response structures. Possible error codes are returned as
|
|
|
|
+ part of the response. */
|
|
|
|
+typedef void (*UA_Service)(UA_Server*, UA_Session*,
|
|
|
|
+ const void *request, void *response);
|
|
|
|
|
|
/**
|
|
/**
|
|
* Discovery Service Set
|
|
* Discovery Service Set
|
|
@@ -50,7 +56,7 @@ void Service_OpenSecureChannel(UA_Server *server, UA_Connection *connection,
|
|
const UA_OpenSecureChannelRequest *request,
|
|
const UA_OpenSecureChannelRequest *request,
|
|
UA_OpenSecureChannelResponse *response);
|
|
UA_OpenSecureChannelResponse *response);
|
|
|
|
|
|
-/** Used to terminate a SecureChannel. */
|
|
|
|
|
|
+/* Used to terminate a SecureChannel. */
|
|
void Service_CloseSecureChannel(UA_Server *server, UA_SecureChannel *channel);
|
|
void Service_CloseSecureChannel(UA_Server *server, UA_SecureChannel *channel);
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -103,27 +109,16 @@ void Service_AddReferences(UA_Server *server, UA_Session *session,
|
|
const UA_AddReferencesRequest *request,
|
|
const UA_AddReferencesRequest *request,
|
|
UA_AddReferencesResponse *response);
|
|
UA_AddReferencesResponse *response);
|
|
|
|
|
|
-UA_StatusCode Service_AddReferences_single(UA_Server *server,
|
|
|
|
- UA_Session *session,
|
|
|
|
- const UA_AddReferencesItem *item);
|
|
|
|
-
|
|
|
|
/* Used to delete one or more Nodes from the AddressSpace. */
|
|
/* Used to delete one or more Nodes from the AddressSpace. */
|
|
void Service_DeleteNodes(UA_Server *server, UA_Session *session,
|
|
void Service_DeleteNodes(UA_Server *server, UA_Session *session,
|
|
const UA_DeleteNodesRequest *request,
|
|
const UA_DeleteNodesRequest *request,
|
|
UA_DeleteNodesResponse *response);
|
|
UA_DeleteNodesResponse *response);
|
|
|
|
|
|
-UA_StatusCode Service_DeleteNodes_single(UA_Server *server, UA_Session *session,
|
|
|
|
- const UA_NodeId *nodeId,
|
|
|
|
- UA_Boolean deleteReferences);
|
|
|
|
-
|
|
|
|
/* Used to delete one or more References of a Node. */
|
|
/* Used to delete one or more References of a Node. */
|
|
void Service_DeleteReferences(UA_Server *server, UA_Session *session,
|
|
void Service_DeleteReferences(UA_Server *server, UA_Session *session,
|
|
const UA_DeleteReferencesRequest *request,
|
|
const UA_DeleteReferencesRequest *request,
|
|
UA_DeleteReferencesResponse *response);
|
|
UA_DeleteReferencesResponse *response);
|
|
|
|
|
|
-UA_StatusCode Service_DeleteReferences_single(UA_Server *server,
|
|
|
|
- UA_Session *session, const UA_DeleteReferencesItem *item);
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* View Service Set
|
|
* View Service Set
|
|
* ----------------
|
|
* ----------------
|
|
@@ -137,11 +132,6 @@ void Service_Browse(UA_Server *server, UA_Session *session,
|
|
const UA_BrowseRequest *request,
|
|
const UA_BrowseRequest *request,
|
|
UA_BrowseResponse *response);
|
|
UA_BrowseResponse *response);
|
|
|
|
|
|
-void Service_Browse_single(UA_Server *server, UA_Session *session,
|
|
|
|
- struct ContinuationPointEntry *cp,
|
|
|
|
- const UA_BrowseDescription *descr,
|
|
|
|
- UA_UInt32 maxrefs, UA_BrowseResult *result);
|
|
|
|
-
|
|
|
|
/* Used to request the next set of Browse or BrowseNext response information
|
|
/* Used to request the next set of Browse or BrowseNext response information
|
|
* that is too large to be sent in a single response. "Too large" in this
|
|
* that is too large to be sent in a single response. "Too large" in this
|
|
* context means that the Server is not able to return a larger response or that
|
|
* context means that the Server is not able to return a larger response or that
|
|
@@ -156,11 +146,6 @@ void Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *sessio
|
|
const UA_TranslateBrowsePathsToNodeIdsRequest *request,
|
|
const UA_TranslateBrowsePathsToNodeIdsRequest *request,
|
|
UA_TranslateBrowsePathsToNodeIdsResponse *response);
|
|
UA_TranslateBrowsePathsToNodeIdsResponse *response);
|
|
|
|
|
|
-void Service_TranslateBrowsePathsToNodeIds_single(UA_Server *server,
|
|
|
|
- UA_Session *session,
|
|
|
|
- const UA_BrowsePath *path,
|
|
|
|
- UA_BrowsePathResult *result);
|
|
|
|
-
|
|
|
|
/* Used by Clients to register the Nodes that they know they will access
|
|
/* Used by Clients to register the Nodes that they know they will access
|
|
* repeatedly (e.g. Write, Call). It allows Servers to set up anything needed so
|
|
* repeatedly (e.g. Write, Call). It allows Servers to set up anything needed so
|
|
* that the access operations will be more efficient. */
|
|
* that the access operations will be more efficient. */
|
|
@@ -201,10 +186,6 @@ void Service_Read(UA_Server *server, UA_Session *session,
|
|
const UA_ReadRequest *request,
|
|
const UA_ReadRequest *request,
|
|
UA_ReadResponse *response);
|
|
UA_ReadResponse *response);
|
|
|
|
|
|
-void Service_Read_single(UA_Server *server, UA_Session *session,
|
|
|
|
- UA_TimestampsToReturn timestamps,
|
|
|
|
- const UA_ReadValueId *id, UA_DataValue *v);
|
|
|
|
-
|
|
|
|
/* Used to write one or more Attributes of one or more Nodes. For constructed
|
|
/* Used to write one or more Attributes of one or more Nodes. For constructed
|
|
* Attribute values whose elements are indexed, such as an array, this Service
|
|
* Attribute values whose elements are indexed, such as an array, this Service
|
|
* allows Clients to write the entire set of indexed values as a composite, to
|
|
* allows Clients to write the entire set of indexed values as a composite, to
|
|
@@ -213,9 +194,6 @@ void Service_Write(UA_Server *server, UA_Session *session,
|
|
const UA_WriteRequest *request,
|
|
const UA_WriteRequest *request,
|
|
UA_WriteResponse *response);
|
|
UA_WriteResponse *response);
|
|
|
|
|
|
-UA_StatusCode Service_Write_single(UA_Server *server, UA_Session *session,
|
|
|
|
- const UA_WriteValue *wvalue);
|
|
|
|
-
|
|
|
|
/* Not Implemented: Service_HistoryRead */
|
|
/* Not Implemented: Service_HistoryRead */
|
|
/* Not Implemented: Service_HistoryUpdate */
|
|
/* Not Implemented: Service_HistoryUpdate */
|
|
|
|
|
|
@@ -224,7 +202,6 @@ UA_StatusCode Service_Write_single(UA_Server *server, UA_Session *session,
|
|
* ------------------
|
|
* ------------------
|
|
* The Method Service Set defines the means to invoke methods. A method shall be
|
|
* The Method Service Set defines the means to invoke methods. A method shall be
|
|
* a component of an Object. */
|
|
* a component of an Object. */
|
|
-#ifdef UA_ENABLE_METHODCALLS
|
|
|
|
/* Used to call (invoke) a list of Methods. Each method call is invoked within
|
|
/* Used to call (invoke) a list of Methods. Each method call is invoked within
|
|
* the context of an existing Session. If the Session is terminated, the results
|
|
* the context of an existing Session. If the Session is terminated, the results
|
|
* of the method's execution cannot be returned to the Client and are
|
|
* of the method's execution cannot be returned to the Client and are
|
|
@@ -233,19 +210,12 @@ void Service_Call(UA_Server *server, UA_Session *session,
|
|
const UA_CallRequest *request,
|
|
const UA_CallRequest *request,
|
|
UA_CallResponse *response);
|
|
UA_CallResponse *response);
|
|
|
|
|
|
-void Service_Call_single(UA_Server *server, UA_Session *session,
|
|
|
|
- const UA_CallMethodRequest *request,
|
|
|
|
- UA_CallMethodResult *result);
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* MonitoredItem Service Set
|
|
* MonitoredItem Service Set
|
|
* -------------------------
|
|
* -------------------------
|
|
* Clients define MonitoredItems to subscribe to data and Events. Each
|
|
* Clients define MonitoredItems to subscribe to data and Events. Each
|
|
* MonitoredItem identifies the item to be monitored and the Subscription to use
|
|
* MonitoredItem identifies the item to be monitored and the Subscription to use
|
|
* to send Notifications. The item to be monitored may be any Node Attribute. */
|
|
* to send Notifications. The item to be monitored may be any Node Attribute. */
|
|
-#ifdef UA_ENABLE_SUBSCRIPTIONS
|
|
|
|
-
|
|
|
|
/* Used to create and add one or more MonitoredItems to a Subscription. A
|
|
/* Used to create and add one or more MonitoredItems to a Subscription. A
|
|
* MonitoredItem is deleted automatically by the Server when the Subscription is
|
|
* MonitoredItem is deleted automatically by the Server when the Subscription is
|
|
* deleted. Deleting a MonitoredItem causes its entire set of triggered item
|
|
* deleted. Deleting a MonitoredItem causes its entire set of triggered item
|
|
@@ -273,14 +243,10 @@ void Service_SetMonitoringMode(UA_Server *server, UA_Session *session,
|
|
|
|
|
|
/* Not Implemented: Service_SetTriggering */
|
|
/* Not Implemented: Service_SetTriggering */
|
|
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Subscription Service Set
|
|
* Subscription Service Set
|
|
* ------------------------
|
|
* ------------------------
|
|
* Subscriptions are used to report Notifications to the Client. */
|
|
* Subscriptions are used to report Notifications to the Client. */
|
|
-#ifdef UA_ENABLE_SUBSCRIPTIONS
|
|
|
|
-
|
|
|
|
/* Used to create a Subscription. Subscriptions monitor a set of MonitoredItems
|
|
/* Used to create a Subscription. Subscriptions monitor a set of MonitoredItems
|
|
* for Notifications and return them to the Client in response to Publish
|
|
* for Notifications and return them to the Client in response to Publish
|
|
* requests. */
|
|
* requests. */
|
|
@@ -323,8 +289,6 @@ void Service_DeleteSubscriptions(UA_Server *server, UA_Session *session,
|
|
|
|
|
|
/* Not Implemented: Service_TransferSubscription */
|
|
/* Not Implemented: Service_TransferSubscription */
|
|
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
#ifdef __cplusplus
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
} // extern "C"
|
|
#endif
|
|
#endif
|