S2OPC OPCUA Toolkit
libs2opc_request_builder.h
Go to the documentation of this file.
1 /*
2  * Licensed to Systerel under one or more contributor license
3  * agreements. See the NOTICE file distributed with this work
4  * for additional information regarding copyright ownership.
5  * Systerel licenses this file to you under the Apache
6  * License, Version 2.0 (the "License"); you may not use this
7  * file except in compliance with the License. You may obtain
8  * a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19 
33 #ifndef LIBS2OPC_REQUEST_BUILDER_H_
34 #define LIBS2OPC_REQUEST_BUILDER_H_
35 
36 #include "sopc_types.h"
37 
50 
63 
92  size_t index,
93  const char* nodeId,
94  SOPC_AttributeId attribute,
95  const char* indexRange);
96 
122  size_t index,
123  const SOPC_NodeId* nodeId,
124  SOPC_AttributeId attribute,
125  const SOPC_String* indexRange);
126 
136  size_t index,
137  const SOPC_QualifiedName* dataEncoding);
138 
150 
187  size_t index,
188  const char* nodeId,
189  SOPC_AttributeId attribute,
190  const char* indexRange,
191  const SOPC_DataValue* value);
192 
226  size_t index,
227  const SOPC_NodeId* nodeId,
228  SOPC_AttributeId attribute,
229  const SOPC_String* indexRange,
230  const SOPC_DataValue* value);
231 
254  size_t maxReferencesPerNode,
255  const OpcUa_ViewDescription* optView);
256 
298  size_t index,
299  const char* nodeId,
300  OpcUa_BrowseDirection browseDirection,
301  const char* referenceTypeId,
302  bool includeSubtypes,
303  OpcUa_NodeClass nodeClassMask,
304  OpcUa_BrowseResultMask resultMask);
305 
341  size_t index,
342  const SOPC_NodeId* nodeId,
343  OpcUa_BrowseDirection browseDirection,
344  const SOPC_NodeId* referenceTypeId,
345  bool includeSubtypes,
346  OpcUa_NodeClass nodeClassMask,
347  OpcUa_BrowseResultMask resultMask);
348 
367 OpcUa_BrowseNextRequest* SOPC_BrowseNextRequest_Create(bool releaseContinuationPoints, size_t nbContinuationPoints);
368 
383 
412  size_t index,
413  const char* startingNodeId,
414  size_t nbPathElements,
415  OpcUa_RelativePathElement* pathElements);
416 
439  size_t index,
440  SOPC_NodeId* startingNodeId,
441  size_t nbPathElements,
442  OpcUa_RelativePathElement* pathElements);
443 
457 
483  size_t index,
484  const SOPC_NodeId* referenceTypeId,
485  bool isInverse,
486  bool includeSubtypes,
487  uint16_t targetNsIndex,
488  const char* targetName);
489 
505  size_t index,
506  const SOPC_ByteString* continuationPoint);
507 
517 
532  size_t nbLocales,
533  char* const* localeIds);
534 
555  size_t nbProfiles,
556  char* const* profileURIs);
557 
566 
578 
616  size_t index,
617  const SOPC_ExpandedNodeId* parentNodeId,
618  const SOPC_NodeId* referenceTypeId,
619  const SOPC_ExpandedNodeId* optRequestedNodeId,
620  const SOPC_QualifiedName* browseName,
621  const SOPC_ExpandedNodeId* typeDefinition,
622  const SOPC_LocalizedText* optDisplayName,
623  const SOPC_LocalizedText* optDescription,
624  const uint32_t* optWriteMask,
625  const uint32_t* optUserWriteMask,
626  const SOPC_Variant* optValue,
627  const SOPC_NodeId* optDataType,
628  const int32_t* optValueRank,
629  int32_t noOfArrayDimensions,
630  const uint32_t* optArrayDimensions,
631  const SOPC_Byte* optAccessLevel,
632  const SOPC_Byte* optUserAccessLevel,
633  const double* optMinimumSamplingInterval,
634  SOPC_Boolean* optHistorizing);
635 
650 
672  uint32_t reqLifetimeCount,
673  uint32_t reqMaxKeepAliveCount,
674  uint32_t maxNotifPerPublish,
675  SOPC_Boolean publishingEnabled,
676  SOPC_Byte priority);
677 
698  size_t nbMonitoredItems,
699  const SOPC_NodeId* nodeIdsToMonitor,
701 
727  uint32_t subscriptionId,
728  size_t nbMonitoredItems,
729  char* const* nodeIdsToMonitor,
731 
751  size_t nbMonitoredItems,
753 
787  OpcUa_CreateMonitoredItemsRequest* createMIrequest,
788  size_t index,
789  const SOPC_NodeId* nodeId,
790  SOPC_AttributeId attribute,
791  const SOPC_String* indexRange);
792 
828  OpcUa_CreateMonitoredItemsRequest* createMIrequest,
829  size_t index,
830  const char* nodeId,
831  SOPC_AttributeId attribute,
832  const char* indexRange);
833 
848  OpcUa_DeadbandType deadbandType,
849  double deadbandValue);
850 
888  OpcUa_CreateMonitoredItemsRequest* createMIrequest,
889  size_t index,
890  OpcUa_MonitoringMode monitoringMode,
891  uint32_t clientHandle,
892  double samplingInterval,
893  SOPC_ExtensionObject* optFilter,
894  uint32_t queueSize,
895  SOPC_Boolean discardOldest);
896 
917  size_t nbMonitoredItems,
919 
950  OpcUa_ModifyMonitoredItemsRequest* modifyMIrequest,
951  size_t index,
952  uint32_t monitoredItemId,
953  uint32_t clientHandle,
954  double samplingInterval,
955  SOPC_ExtensionObject* optFilter,
956  uint32_t queueSize,
957  SOPC_Boolean discardOldest);
958 
981  size_t nbMonitoredItems,
982  const uint32_t* optMonitoredItemIds);
983 
995  OpcUa_DeleteMonitoredItemsRequest* deleteMIrequest,
996  size_t index,
997  uint32_t monitoredItemId);
998 
1009 OpcUa_CallRequest* SOPC_CallRequest_Create(size_t nbMethodsToCalls);
1010 
1036  size_t index,
1037  const SOPC_NodeId* objectId,
1038  const SOPC_NodeId* methodId,
1039  int32_t nbOfInputArguments,
1040  const SOPC_Variant* inputArguments);
1041 
1042 #endif /* LIBS2OPC_REQUEST_BUILDER_H_ */
_OpcUa_CreateSubscriptionRequest
Definition: sopc_types.h:5868
SOPC_NodeId
This structure describes a basic NodeID in OPC UA.
Definition: sopc_builtintypes.h:187
sopc_types.h
_OpcUa_RelativePathElement
Definition: sopc_types.h:3902
SOPC_GetEndpointsRequest_Create
OpcUa_GetEndpointsRequest * SOPC_GetEndpointsRequest_Create(const char *endpointURL)
Creates a GetEndpoint request for the given endpoint URL.
_OpcUa_ViewDescription
Definition: sopc_types.h:3701
SOPC_DeleteMonitoredItemsRequest_Create
OpcUa_DeleteMonitoredItemsRequest * SOPC_DeleteMonitoredItemsRequest_Create(uint32_t subscriptionId, size_t nbMonitoredItems, const uint32_t *optMonitoredItemIds)
Creates an DeleteMonitoredItems request.
SOPC_AddNodeRequest_SetVariableAttributes
SOPC_ReturnStatus SOPC_AddNodeRequest_SetVariableAttributes(OpcUa_AddNodesRequest *addNodesRequest, size_t index, const SOPC_ExpandedNodeId *parentNodeId, const SOPC_NodeId *referenceTypeId, const SOPC_ExpandedNodeId *optRequestedNodeId, const SOPC_QualifiedName *browseName, const SOPC_ExpandedNodeId *typeDefinition, const SOPC_LocalizedText *optDisplayName, const SOPC_LocalizedText *optDescription, const uint32_t *optWriteMask, const uint32_t *optUserWriteMask, const SOPC_Variant *optValue, const SOPC_NodeId *optDataType, const int32_t *optValueRank, int32_t noOfArrayDimensions, const uint32_t *optArrayDimensions, const SOPC_Byte *optAccessLevel, const SOPC_Byte *optUserAccessLevel, const double *optMinimumSamplingInterval, SOPC_Boolean *optHistorizing)
Sets the attributes values requested for the Variable node to add. Optional parameters are prefixed b...
SOPC_CreateMonitoredItemsRequest_SetMonitoredItemParams
SOPC_ReturnStatus SOPC_CreateMonitoredItemsRequest_SetMonitoredItemParams(OpcUa_CreateMonitoredItemsRequest *createMIrequest, size_t index, OpcUa_MonitoringMode monitoringMode, uint32_t clientHandle, double samplingInterval, SOPC_ExtensionObject *optFilter, uint32_t queueSize, SOPC_Boolean discardOldest)
Sets the monitored item monitoring parameters. It shall be completed by a call to SOPC_CreateMonitore...
SOPC_ExtensionObject
An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the ...
Definition: sopc_builtintypes.h:260
OpcUa_BrowseDirection
enum _OpcUa_BrowseDirection OpcUa_BrowseDirection
SOPC_LocalizedText
Definition: sopc_builtintypes.h:232
SOPC_CreateMonitoredItemsRequest_CreateDefault
OpcUa_CreateMonitoredItemsRequest * SOPC_CreateMonitoredItemsRequest_CreateDefault(uint32_t subscriptionId, size_t nbMonitoredItems, const SOPC_NodeId *nodeIdsToMonitor, OpcUa_TimestampsToReturn ts)
Creates a CreateMonitoredItems request for the given node ids with default parameters values:
OpcUa_TimestampsToReturn
enum _OpcUa_TimestampsToReturn OpcUa_TimestampsToReturn
_OpcUa_WriteRequest
Definition: sopc_types.h:5007
_OpcUa_AddNodesRequest
Definition: sopc_types.h:3433
SOPC_TranslateBrowsePathRequest_SetPath
SOPC_ReturnStatus SOPC_TranslateBrowsePathRequest_SetPath(OpcUa_TranslateBrowsePathsToNodeIdsRequest *tbpRequest, size_t index, SOPC_NodeId *startingNodeId, size_t nbPathElements, OpcUa_RelativePathElement *pathElements)
Sets the browse path to translate at given index in translate browse paths request.
SOPC_BrowseRequest_SetBrowseDescriptionFromStrings
SOPC_ReturnStatus SOPC_BrowseRequest_SetBrowseDescriptionFromStrings(OpcUa_BrowseRequest *browseRequest, size_t index, const char *nodeId, OpcUa_BrowseDirection browseDirection, const char *referenceTypeId, bool includeSubtypes, OpcUa_NodeClass nodeClassMask, OpcUa_BrowseResultMask resultMask)
Sets the node to browse at given index in browse request (using C strings for node id and reference t...
_OpcUa_DeleteMonitoredItemsRequest
Definition: sopc_types.h:5818
_OpcUa_ModifyMonitoredItemsRequest
Definition: sopc_types.h:5659
SOPC_WriteRequest_SetWriteValueFromStrings
SOPC_ReturnStatus SOPC_WriteRequest_SetWriteValueFromStrings(OpcUa_WriteRequest *writeRequest, size_t index, const char *nodeId, SOPC_AttributeId attribute, const char *indexRange, const SOPC_DataValue *value)
Sets the value to write at given index in write request (using C strings for node id and index range)
OpcUa_MonitoringMode
enum _OpcUa_MonitoringMode OpcUa_MonitoringMode
SOPC_CreateMonitoredItemsRequest_Create
OpcUa_CreateMonitoredItemsRequest * SOPC_CreateMonitoredItemsRequest_Create(uint32_t subscriptionId, size_t nbMonitoredItems, OpcUa_TimestampsToReturn ts)
Creates a CreateMonitoredItems request.
_OpcUa_CallRequest
Definition: sopc_types.h:5345
_OpcUa_RegisterServer2Request
Definition: sopc_types.h:2556
SOPC_RelativePathElements_SetPathElement
SOPC_ReturnStatus SOPC_RelativePathElements_SetPathElement(OpcUa_RelativePathElement *pathElementsArray, size_t index, const SOPC_NodeId *referenceTypeId, bool isInverse, bool includeSubtypes, uint16_t targetNsIndex, const char *targetName)
Sets the path element at given index in relative path element array.
SOPC_ExpandedNodeId
ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Se...
Definition: sopc_builtintypes.h:205
SOPC_GetEndpointsRequest_SetProfileURIs
SOPC_ReturnStatus SOPC_GetEndpointsRequest_SetProfileURIs(OpcUa_GetEndpointsRequest *getEndpointsReq, size_t nbProfiles, char *const *profileURIs)
Requests profile URIs for the endpoints to be returned by the get endpoints service (Optional) Endpoi...
SOPC_ReadRequest_SetReadValueDataEncoding
SOPC_ReturnStatus SOPC_ReadRequest_SetReadValueDataEncoding(OpcUa_ReadRequest *readRequest, size_t index, const SOPC_QualifiedName *dataEncoding)
Sets the data encoding of the value to read.
SOPC_CreateMonitoredItemsRequest_CreateDefaultFromStrings
OpcUa_CreateMonitoredItemsRequest * SOPC_CreateMonitoredItemsRequest_CreateDefaultFromStrings(uint32_t subscriptionId, size_t nbMonitoredItems, char *const *nodeIdsToMonitor, OpcUa_TimestampsToReturn ts)
Creates a CreateMonitoredItems request for the given node ids C strings with default parameters value...
OpcUa_BrowseResultMask
enum _OpcUa_BrowseResultMask OpcUa_BrowseResultMask
SOPC_TranslateBrowsePathsRequest_Create
OpcUa_TranslateBrowsePathsToNodeIdsRequest * SOPC_TranslateBrowsePathsRequest_Create(size_t nbTranslateBrowsePaths)
Create a translate browse paths request.
SOPC_CallRequest_Create
OpcUa_CallRequest * SOPC_CallRequest_Create(size_t nbMethodsToCalls)
Creates a Call request for the given number of method calls.
OpcUa_NodeClass
enum _OpcUa_NodeClass OpcUa_NodeClass
SOPC_ReadRequest_SetReadValue
SOPC_ReturnStatus SOPC_ReadRequest_SetReadValue(OpcUa_ReadRequest *readRequest, size_t index, const SOPC_NodeId *nodeId, SOPC_AttributeId attribute, const SOPC_String *indexRange)
Sets the value to read at given index in read request.
SOPC_CreateSubscriptionRequest_CreateDefault
OpcUa_CreateSubscriptionRequest * SOPC_CreateSubscriptionRequest_CreateDefault(void)
Creates a CreateSubscription request with default parameters values Default parameters are the follow...
SOPC_String
This structure provides string encapsulation.
Definition: sopc_builtintypes.h:149
SOPC_AddNodesRequest_Create
OpcUa_AddNodesRequest * SOPC_AddNodesRequest_Create(size_t nbAddNodes)
Creates an add nodes request.
_OpcUa_BrowseNextRequest
Definition: sopc_types.h:3853
SOPC_BrowseRequest_SetBrowseDescription
SOPC_ReturnStatus SOPC_BrowseRequest_SetBrowseDescription(OpcUa_BrowseRequest *browseRequest, size_t index, const SOPC_NodeId *nodeId, OpcUa_BrowseDirection browseDirection, const SOPC_NodeId *referenceTypeId, bool includeSubtypes, OpcUa_NodeClass nodeClassMask, OpcUa_BrowseResultMask resultMask)
Sets the node to browse at given index in browse request.
SOPC_AttributeId
SOPC_AttributeId
Enumerated for all possible OPC UA attribute ids.
Definition: sopc_builtintypes.h:72
SOPC_ModifyMonitoredItemsRequest_SetMonitoredItemParams
SOPC_ReturnStatus SOPC_ModifyMonitoredItemsRequest_SetMonitoredItemParams(OpcUa_ModifyMonitoredItemsRequest *modifyMIrequest, size_t index, uint32_t monitoredItemId, uint32_t clientHandle, double samplingInterval, SOPC_ExtensionObject *optFilter, uint32_t queueSize, SOPC_Boolean discardOldest)
Sets the monitored item monitoring parameters to modify. See part 4 ยง7.16 for detailed MonitoringPara...
SOPC_CreateSubscriptionRequest_Create
OpcUa_CreateSubscriptionRequest * SOPC_CreateSubscriptionRequest_Create(double reqPublishingInterval, uint32_t reqLifetimeCount, uint32_t reqMaxKeepAliveCount, uint32_t maxNotifPerPublish, SOPC_Boolean publishingEnabled, SOPC_Byte priority)
Creates a CreateSubscription request with given parameters values.
SOPC_CreateMonitoredItemsRequest_SetMonitoredItemId
SOPC_ReturnStatus SOPC_CreateMonitoredItemsRequest_SetMonitoredItemId(OpcUa_CreateMonitoredItemsRequest *createMIrequest, size_t index, const SOPC_NodeId *nodeId, SOPC_AttributeId attribute, const SOPC_String *indexRange)
Sets the monitored item identification parameters. It should be completed by a call to SOPC_CreateMon...
SOPC_ReadRequest_Create
OpcUa_ReadRequest * SOPC_ReadRequest_Create(size_t nbReadValues, OpcUa_TimestampsToReturn tsToReturn)
Creates a read request.
SOPC_Byte
uint8_t SOPC_Byte
Definition: sopc_builtintypes.h:139
SOPC_MonitoredItem_DataChangeFilter
SOPC_ExtensionObject * SOPC_MonitoredItem_DataChangeFilter(OpcUa_DataChangeTrigger trigger, OpcUa_DeadbandType deadbandType, double deadbandValue)
Creates and allocates a DataChangeFilter filter parameter to be provided to SOPC_CreateMonitoredItems...
SOPC_Variant
This structure provides variant encapsulation.
Definition: sopc_builtintypes.h:374
_OpcUa_TranslateBrowsePathsToNodeIdsRequest
Definition: sopc_types.h:4016
SOPC_RegisterServer2Request_CreateFromServerConfiguration
OpcUa_RegisterServer2Request * SOPC_RegisterServer2Request_CreateFromServerConfiguration(void)
Creates a complete RegisterServer2 request from the current server configuration. It shall be used to...
SOPC_WriteRequest_Create
OpcUa_WriteRequest * SOPC_WriteRequest_Create(size_t nbWriteValues)
Creates a write request.
OpcUa_DataChangeTrigger
enum _OpcUa_DataChangeTrigger OpcUa_DataChangeTrigger
SOPC_BrowseNextRequest_SetContinuationPoint
SOPC_ReturnStatus SOPC_BrowseNextRequest_SetContinuationPoint(OpcUa_BrowseNextRequest *browseNextRequest, size_t index, const SOPC_ByteString *continuationPoint)
Sets the continuation point to browse at given index in browse next request.
SOPC_ReadRequest_SetMaxAge
SOPC_ReturnStatus SOPC_ReadRequest_SetMaxAge(OpcUa_ReadRequest *readRequest, double maxAge)
Indicates to the server of maximum age of the data it should return.
SOPC_BrowseNextRequest_Create
OpcUa_BrowseNextRequest * SOPC_BrowseNextRequest_Create(bool releaseContinuationPoints, size_t nbContinuationPoints)
Creates a browse next request.
SOPC_GetEndpointsRequest_SetPreferredLocales
SOPC_ReturnStatus SOPC_GetEndpointsRequest_SetPreferredLocales(OpcUa_GetEndpointsRequest *getEndpointsReq, size_t nbLocales, char *const *localeIds)
Requests preferred locales for the endpoints to be returned by the get endpoints service (Optional) P...
_OpcUa_ReadRequest
Definition: sopc_types.h:4552
SOPC_Boolean
SOPC_Byte SOPC_Boolean
Definition: sopc_builtintypes.h:141
_OpcUa_CreateMonitoredItemsRequest
Definition: sopc_types.h:5562
SOPC_RelativePathElements_Create
OpcUa_RelativePathElement * SOPC_RelativePathElements_Create(size_t nbPathElements)
Creates an array of relative path element to be used in translate browse path.
SOPC_DataValue
Each attribute in OPC UA has a DataValue caracterized by the following structure.
Definition: sopc_builtintypes.h:385
SOPC_DeleteMonitoredItemsRequest_SetMonitoredItemId
SOPC_ReturnStatus SOPC_DeleteMonitoredItemsRequest_SetMonitoredItemId(OpcUa_DeleteMonitoredItemsRequest *deleteMIrequest, size_t index, uint32_t monitoredItemId)
Sets the monitored item identifier to delete.
SOPC_ModifyMonitoredItemsRequest_Create
OpcUa_ModifyMonitoredItemsRequest * SOPC_ModifyMonitoredItemsRequest_Create(uint32_t subscriptionId, size_t nbMonitoredItems, OpcUa_TimestampsToReturn ts)
Creates a ModifyMonitoredItems request.
SOPC_WriteRequest_SetWriteValue
SOPC_ReturnStatus SOPC_WriteRequest_SetWriteValue(OpcUa_WriteRequest *writeRequest, size_t index, const SOPC_NodeId *nodeId, SOPC_AttributeId attribute, const SOPC_String *indexRange, const SOPC_DataValue *value)
Sets the value to write at given index in write request.
SOPC_QualifiedName
Definition: sopc_builtintypes.h:226
SOPC_CreateMonitoredItemsRequest_SetMonitoredItemIdFromStrings
SOPC_ReturnStatus SOPC_CreateMonitoredItemsRequest_SetMonitoredItemIdFromStrings(OpcUa_CreateMonitoredItemsRequest *createMIrequest, size_t index, const char *nodeId, SOPC_AttributeId attribute, const char *indexRange)
Sets the monitored item identification parameters using C string parameters. It shall be completed by...
SOPC_CallRequest_SetMethodToCall
SOPC_ReturnStatus SOPC_CallRequest_SetMethodToCall(OpcUa_CallRequest *callRequest, size_t index, const SOPC_NodeId *objectId, const SOPC_NodeId *methodId, int32_t nbOfInputArguments, const SOPC_Variant *inputArguments)
Sets the method call parameters for the given index in the the call request.
_OpcUa_GetEndpointsRequest
Definition: sopc_types.h:2409
OpcUa_DeadbandType
enum _OpcUa_DeadbandType OpcUa_DeadbandType
_OpcUa_BrowseRequest
Definition: sopc_types.h:3802
SOPC_BrowseRequest_Create
OpcUa_BrowseRequest * SOPC_BrowseRequest_Create(size_t nbNodesToBrowse, size_t maxReferencesPerNode, const OpcUa_ViewDescription *optView)
Enumerated result fields mask values authorized for use with SOPC_BrowseRequest_SetBrowseDescription....
SOPC_TranslateBrowsePathRequest_SetPathFromString
SOPC_ReturnStatus SOPC_TranslateBrowsePathRequest_SetPathFromString(OpcUa_TranslateBrowsePathsToNodeIdsRequest *tbpRequest, size_t index, const char *startingNodeId, size_t nbPathElements, OpcUa_RelativePathElement *pathElements)
Sets the browse path to translate at given index in translate browse paths request (using C strings f...
SOPC_ReadRequest_SetReadValueFromStrings
SOPC_ReturnStatus SOPC_ReadRequest_SetReadValueFromStrings(OpcUa_ReadRequest *readRequest, size_t index, const char *nodeId, SOPC_AttributeId attribute, const char *indexRange)
Sets the value to read at given index in read request (using C strings for node id and index range)
SOPC_ReturnStatus
SOPC_ReturnStatus
Definition: libs2opc_client.h:64