10#include "open62541pp/config.hpp"
56template <
typename CompletionToken>
58 return detail::sendRequestAsync<AddNodesRequest, AddNodesResponse>(
59 connection, request, std::forward<CompletionToken>(token)
80 std::string_view browseName,
82 const NodeId& typeDefinition,
83 const NodeId& referenceType
91template <
typename CompletionToken>
97 std::string_view browseName,
99 const NodeId& typeDefinition,
100 const NodeId& referenceType,
101 CompletionToken&& token
103 auto item = detail::createAddNodesItem(
104 parentId, referenceType,
id, browseName, nodeClass, nodeAttributes, typeDefinition
106 const auto request = detail::createAddNodesRequest(item);
110 detail::TransformToken(
112 return detail::getSingleResultRef(response).andThen(detail::getAddedNodeId);
114 std::forward<CompletionToken>(token)
141template <
typename CompletionToken>
145 return detail::sendRequestAsync<AddReferencesRequest, AddReferencesResponse>(
146 connection, request, std::forward<CompletionToken>(token)
163 const NodeId& referenceType,
172template <
typename CompletionToken>
177 const NodeId& referenceType,
179 CompletionToken&& token
181 auto item = detail::createAddReferencesItem(sourceId, referenceType, forward, targetId);
182 const auto request = detail::createAddReferencesRequest(item);
186 detail::TransformToken(
187 detail::getSingleStatus<AddReferencesResponse>, std::forward<CompletionToken>(token)
212template <
typename CompletionToken>
216 return detail::sendRequestAsync<DeleteNodesRequest, DeleteNodesResponse>(
217 connection, request, std::forward<CompletionToken>(token)
235template <
typename CompletionToken>
240 const auto request = detail::createDeleteNodesRequest(item);
244 detail::TransformToken(
245 detail::getSingleStatus<DeleteNodesResponse>, std::forward<CompletionToken>(token)
272template <
typename CompletionToken>
276 return detail::sendRequestAsync<DeleteReferencesRequest, DeleteReferencesResponse>(
277 connection, request, std::forward<CompletionToken>(token)
295 const NodeId& referenceType,
297 bool deleteBidirectional
305template <
typename CompletionToken>
310 const NodeId& referenceType,
312 bool deleteBidirectional,
313 CompletionToken&& token
315 auto item = detail::createDeleteReferencesItem(
316 sourceId, referenceType, isForward, targetId, deleteBidirectional
318 const auto request = detail::createDeleteReferencesRequest(item);
322 detail::TransformToken(
323 detail::getSingleStatus<DeleteReferencesResponse>, std::forward<CompletionToken>(token)
355 std::string_view browseName,
358 const NodeId& referenceType
366 detail::wrapNodeAttributes(attributes),
377template <
typename CompletionToken>
382 std::string_view browseName,
385 const NodeId& referenceType,
386 CompletionToken&& token
394 detail::wrapNodeAttributes(attributes),
397 std::forward<CompletionToken>(token)
416 std::string_view browseName,
418 const NodeId& referenceType
421 connection, parentId,
id, browseName, attributes, ObjectTypeId::FolderType, referenceType
430template <
typename CompletionToken>
435 std::string_view browseName,
437 const NodeId& referenceType,
438 CompletionToken&& token
446 ObjectTypeId::FolderType,
448 std::forward<CompletionToken>(token)
468 std::string_view browseName,
470 const NodeId& variableType,
471 const NodeId& referenceType
479 detail::wrapNodeAttributes(attributes),
490template <
typename CompletionToken>
495 std::string_view browseName,
497 const NodeId& variableType,
498 const NodeId& referenceType,
499 CompletionToken&& token
507 detail::wrapNodeAttributes(attributes),
510 std::forward<CompletionToken>(token)
527 std::string_view browseName,
536 VariableTypeId::PropertyType,
537 ReferenceTypeId::HasProperty
546template <
typename CompletionToken>
551 std::string_view browseName,
553 CompletionToken&& token
561 VariableTypeId::PropertyType,
562 ReferenceTypeId::HasProperty,
563 std::forward<CompletionToken>(token)
567#ifdef UA_ENABLE_METHODCALLS
594 std::string_view browseName,
599 const NodeId& referenceType
607template <
typename CompletionToken>
612 std::string_view browseName,
617 const NodeId& referenceType,
618 CompletionToken&& token
626 detail::wrapNodeAttributes(attributes),
629 std::forward<CompletionToken>(token)
649 std::string_view browseName,
651 const NodeId& referenceType
659 detail::wrapNodeAttributes(attributes),
670template <
typename CompletionToken>
675 std::string_view browseName,
677 const NodeId& referenceType,
678 CompletionToken&& token
686 detail::wrapNodeAttributes(attributes),
689 std::forward<CompletionToken>(token)
709 std::string_view browseName,
711 const NodeId& variableType,
712 const NodeId& referenceType
720 detail::wrapNodeAttributes(attributes),
731template <
typename CompletionToken>
736 std::string_view browseName,
738 const NodeId& variableType,
739 const NodeId& referenceType,
740 CompletionToken&& token
748 detail::wrapNodeAttributes(attributes),
751 std::forward<CompletionToken>(token)
770 std::string_view browseName,
772 const NodeId& referenceType
780 detail::wrapNodeAttributes(attributes),
791template <
typename CompletionToken>
796 std::string_view browseName,
798 const NodeId& referenceType,
799 CompletionToken&& token
807 detail::wrapNodeAttributes(attributes),
810 std::forward<CompletionToken>(token)
829 std::string_view browseName,
831 const NodeId& referenceType
839 detail::wrapNodeAttributes(attributes),
850template <
typename CompletionToken>
855 std::string_view browseName,
857 const NodeId& referenceType,
858 CompletionToken&& token
866 detail::wrapNodeAttributes(attributes),
869 std::forward<CompletionToken>(token)
888 std::string_view browseName,
890 const NodeId& referenceType
898 detail::wrapNodeAttributes(attributes),
909template <
typename CompletionToken>
914 std::string_view browseName,
916 const NodeId& referenceType,
917 CompletionToken&& token
925 detail::wrapNodeAttributes(attributes),
928 std::forward<CompletionToken>(token)
948 connection,
id, {0,
static_cast<uint32_t
>(rule)}, ReferenceTypeId::HasModellingRule, true
957template <
typename CompletionToken>
964 {0,
static_cast<uint32_t
>(rule)},
965 ReferenceTypeId::HasModellingRule,
967 std::forward<CompletionToken>(token)
Client * asWrapper(UA_Client *client) noexcept
Convert native UA_Client pointer to its wrapper instance.
UA_ExtensionObject wrapper class.
The template class Result encapsulates a StatusCode and optionally a value.
View to a contiguous sequence of objects, similar to std::span in C++20.
UA_StatusCode wrapper class.
UA_AddNodesRequest wrapper class.
UA_AddNodesResponse wrapper class.
UA_AddReferencesRequest wrapper class.
UA_AddReferencesResponse wrapper class.
UA_DataTypeAttributes wrapper class.
UA_DeleteNodesRequest wrapper class.
UA_DeleteNodesResponse wrapper class.
UA_DeleteReferencesRequest wrapper class.
UA_DeleteReferencesResponse wrapper class.
UA_MethodAttributes wrapper class.
UA_ObjectAttributes wrapper class.
UA_ObjectTypeAttributes wrapper class.
UA_ReferenceTypeAttributes wrapper class.
UA_VariableAttributes wrapper class.
UA_VariableAttributes wrapper class.
UA_ViewAttributes wrapper class.
Result< NodeId > addNode(T &connection, NodeClass nodeClass, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ExtensionObject &nodeAttributes, const NodeId &typeDefinition, const NodeId &referenceType) noexcept
Add a node.
auto addObjectTypeAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ObjectTypeAttributes &attributes, const NodeId &referenceType, CompletionToken &&token)
Add object type.
auto addPropertyAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const VariableAttributes &attributes, CompletionToken &&token)
Add property.
Result< NodeId > addObject(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes, const NodeId &objectType, const NodeId &referenceType) noexcept
Add object.
auto addMethodAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, MethodCallback callback, Span< const Argument > inputArguments, Span< const Argument > outputArguments, const MethodAttributes &attributes, const NodeId &referenceType, CompletionToken &&token)
Add method.
Result< NodeId > addObjectType(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ObjectTypeAttributes &attributes, const NodeId &referenceType) noexcept
Add object type.
Result< NodeId > addMethod(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, MethodCallback callback, Span< const Argument > inputArguments, Span< const Argument > outputArguments, const MethodAttributes &attributes, const NodeId &referenceType) noexcept
Add method.
auto addNodesAsync(Client &connection, const AddNodesRequest &request, CompletionToken &&token)
Add one or more nodes (client only).
auto addFolderAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes, const NodeId &referenceType, CompletionToken &&token)
Add folder.
std::function< void(Span< const Variant > input, Span< Variant > output)> MethodCallback
Method callback.
Result< NodeId > addFolder(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes, const NodeId &referenceType) noexcept
Add folder.
Result< NodeId > addDataType(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const DataTypeAttributes &attributes, const NodeId &referenceType) noexcept
Add data type.
auto addNodeAsync(Client &connection, NodeClass nodeClass, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ExtensionObject &nodeAttributes, const NodeId &typeDefinition, const NodeId &referenceType, CompletionToken &&token)
Add a node.
auto addReferenceTypeAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ReferenceTypeAttributes &attributes, const NodeId &referenceType, CompletionToken &&token)
Add reference type.
auto addDataTypeAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const DataTypeAttributes &attributes, const NodeId &referenceType, CompletionToken &&token)
Add data type.
auto addVariableTypeAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const VariableTypeAttributes &attributes, const NodeId &variableType, const NodeId &referenceType, CompletionToken &&token)
Add variable type.
Result< NodeId > addVariableType(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const VariableTypeAttributes &attributes, const NodeId &variableType, const NodeId &referenceType) noexcept
Add variable type.
auto addVariableAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const VariableAttributes &attributes, const NodeId &variableType, const NodeId &referenceType, CompletionToken &&token)
Add variable.
Result< NodeId > addReferenceType(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ReferenceTypeAttributes &attributes, const NodeId &referenceType) noexcept
Add reference type.
Result< NodeId > addProperty(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const VariableAttributes &attributes) noexcept
Add property.
Result< NodeId > addView(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ViewAttributes &attributes, const NodeId &referenceType) noexcept
Add view.
AddNodesResponse addNodes(Client &connection, const AddNodesRequest &request) noexcept
Add one or more nodes (client only).
auto addObjectAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes, const NodeId &objectType, const NodeId &referenceType, CompletionToken &&token)
Add object.
auto addViewAsync(Client &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const ViewAttributes &attributes, const NodeId &referenceType, CompletionToken &&token)
Add view.
Result< NodeId > addVariable(T &connection, const NodeId &parentId, const NodeId &id, std::string_view browseName, const VariableAttributes &attributes, const NodeId &variableType, const NodeId &referenceType) noexcept
Add variable.
StatusCode addModellingRule(T &connection, const NodeId &id, ModellingRule rule) noexcept
Add modelling rule.
AddReferencesResponse addReferences(Client &connection, const AddReferencesRequest &request) noexcept
Add one or more references (client only).
auto addReferencesAsync(Client &connection, const AddReferencesRequest &request, CompletionToken &&token)
Add one or more references (client only).
auto addModellingRuleAsync(Client &connection, const NodeId &id, ModellingRule rule, CompletionToken &&token)
Add modelling rule.
auto addReferenceAsync(Client &connection, const NodeId &sourceId, const NodeId &targetId, const NodeId &referenceType, bool forward, CompletionToken &&token)
Add reference.
StatusCode addReference(T &connection, const NodeId &sourceId, const NodeId &targetId, const NodeId &referenceType, bool forward) noexcept
Add reference.
DeleteNodesResponse deleteNodes(Client &connection, const DeleteNodesRequest &request) noexcept
Delete one or more nodes (client only).
auto deleteNodeAsync(Client &connection, const NodeId &id, bool deleteReferences, CompletionToken &&token)
Delete node.
StatusCode deleteNode(T &connection, const NodeId &id, bool deleteReferences) noexcept
Delete node.
auto deleteNodesAsync(Client &connection, const DeleteNodesRequest &request, CompletionToken &&token)
Delete one or more nodes (client only).
auto deleteReferencesAsync(Client &connection, const DeleteReferencesRequest &request, CompletionToken &&token)
Delete one or more references (client only).
DeleteReferencesResponse deleteReferences(Client &connection, const DeleteReferencesRequest &request) noexcept
Delete one or more references (client only).
auto deleteReferenceAsync(Client &connection, const NodeId &sourceId, const NodeId &targetId, const NodeId &referenceType, bool isForward, bool deleteBidirectional, CompletionToken &&token)
Delete reference.
StatusCode deleteReference(T &connection, const NodeId &sourceId, const NodeId &targetId, const NodeId &referenceType, bool isForward, bool deleteBidirectional) noexcept
Delete reference.
OPC UA services as free functions.
ModellingRule
Modelling rules.