11#include "open62541pp/config.hpp"
58template <
typename CompletionToken>
60 return detail::sendRequestAsync<AddNodesRequest, AddNodesResponse>(
61 connection, request, std::forward<CompletionToken>(token)
82 std::string_view browseName,
84 const NodeId& typeDefinition,
85 const NodeId& referenceType
93template <
typename CompletionToken>
99 std::string_view browseName,
101 const NodeId& typeDefinition,
102 const NodeId& referenceType,
103 CompletionToken&& token
105 auto item = detail::makeAddNodesItem(
106 parentId, referenceType,
id, browseName, nodeClass, nodeAttributes, typeDefinition
108 const auto request = detail::makeAddNodesRequest(item);
111 asWrapper<AddNodesRequest>(request),
112 detail::TransformToken(
114 return detail::getSingleResultRef(response).andThen(detail::getAddedNodeId);
116 std::forward<CompletionToken>(token)
143template <
typename CompletionToken>
147 return detail::sendRequestAsync<AddReferencesRequest, AddReferencesResponse>(
148 connection, request, std::forward<CompletionToken>(token)
165 const NodeId& referenceType,
174template <
typename CompletionToken>
179 const NodeId& referenceType,
181 CompletionToken&& token
183 auto item = detail::makeAddReferencesItem(sourceId, referenceType, forward, targetId);
184 const auto request = detail::makeAddReferencesRequest(item);
187 asWrapper<AddReferencesRequest>(request),
188 detail::TransformToken(
189 detail::getSingleStatus<AddReferencesResponse>, std::forward<CompletionToken>(token)
214template <
typename CompletionToken>
218 return detail::sendRequestAsync<DeleteNodesRequest, DeleteNodesResponse>(
219 connection, request, std::forward<CompletionToken>(token)
237template <
typename CompletionToken>
242 const auto request = detail::makeDeleteNodesRequest(item);
245 asWrapper<DeleteNodesRequest>(request),
246 detail::TransformToken(
247 detail::getSingleStatus<DeleteNodesResponse>, std::forward<CompletionToken>(token)
274template <
typename CompletionToken>
278 return detail::sendRequestAsync<DeleteReferencesRequest, DeleteReferencesResponse>(
279 connection, request, std::forward<CompletionToken>(token)
297 const NodeId& referenceType,
299 bool deleteBidirectional
307template <
typename CompletionToken>
312 const NodeId& referenceType,
314 bool deleteBidirectional,
315 CompletionToken&& token
317 auto item = detail::makeDeleteReferencesItem(
318 sourceId, referenceType, isForward, targetId, deleteBidirectional
320 const auto request = detail::makeDeleteReferencesRequest(item);
323 asWrapper<DeleteReferencesRequest>(request),
324 detail::TransformToken(
325 detail::getSingleStatus<DeleteReferencesResponse>, std::forward<CompletionToken>(token)
357 std::string_view browseName,
360 const NodeId& referenceType
368 detail::wrapNodeAttributes(attributes),
379template <
typename CompletionToken>
384 std::string_view browseName,
387 const NodeId& referenceType,
388 CompletionToken&& token
396 detail::wrapNodeAttributes(attributes),
399 std::forward<CompletionToken>(token)
418 std::string_view browseName,
420 const NodeId& referenceType
423 connection, parentId,
id, browseName, attributes, ObjectTypeId::FolderType, referenceType
432template <
typename CompletionToken>
437 std::string_view browseName,
439 const NodeId& referenceType,
440 CompletionToken&& token
448 ObjectTypeId::FolderType,
450 std::forward<CompletionToken>(token)
470 std::string_view browseName,
472 const NodeId& variableType,
473 const NodeId& referenceType
481 detail::wrapNodeAttributes(attributes),
492template <
typename CompletionToken>
497 std::string_view browseName,
499 const NodeId& variableType,
500 const NodeId& referenceType,
501 CompletionToken&& token
509 detail::wrapNodeAttributes(attributes),
512 std::forward<CompletionToken>(token)
529 std::string_view browseName,
538 VariableTypeId::PropertyType,
539 ReferenceTypeId::HasProperty
548template <
typename CompletionToken>
553 std::string_view browseName,
555 CompletionToken&& token
563 VariableTypeId::PropertyType,
564 ReferenceTypeId::HasProperty,
565 std::forward<CompletionToken>(token)
569#ifdef UA_ENABLE_METHODCALLS
625 std::string_view browseName,
630 const NodeId& referenceType
638template <
typename CompletionToken>
643 std::string_view browseName,
648 const NodeId& referenceType,
649 CompletionToken&& token
657 detail::wrapNodeAttributes(attributes),
660 std::forward<CompletionToken>(token)
680 std::string_view browseName,
682 const NodeId& referenceType
690 detail::wrapNodeAttributes(attributes),
701template <
typename CompletionToken>
706 std::string_view browseName,
708 const NodeId& referenceType,
709 CompletionToken&& token
717 detail::wrapNodeAttributes(attributes),
720 std::forward<CompletionToken>(token)
740 std::string_view browseName,
742 const NodeId& variableType,
743 const NodeId& referenceType
751 detail::wrapNodeAttributes(attributes),
762template <
typename CompletionToken>
767 std::string_view browseName,
769 const NodeId& variableType,
770 const NodeId& referenceType,
771 CompletionToken&& token
779 detail::wrapNodeAttributes(attributes),
782 std::forward<CompletionToken>(token)
801 std::string_view browseName,
803 const NodeId& referenceType
811 detail::wrapNodeAttributes(attributes),
822template <
typename CompletionToken>
827 std::string_view browseName,
829 const NodeId& referenceType,
830 CompletionToken&& token
838 detail::wrapNodeAttributes(attributes),
841 std::forward<CompletionToken>(token)
860 std::string_view browseName,
862 const NodeId& referenceType
870 detail::wrapNodeAttributes(attributes),
881template <
typename CompletionToken>
886 std::string_view browseName,
888 const NodeId& referenceType,
889 CompletionToken&& token
897 detail::wrapNodeAttributes(attributes),
900 std::forward<CompletionToken>(token)
919 std::string_view browseName,
921 const NodeId& referenceType
929 detail::wrapNodeAttributes(attributes),
940template <
typename CompletionToken>
945 std::string_view browseName,
947 const NodeId& referenceType,
948 CompletionToken&& token
956 detail::wrapNodeAttributes(attributes),
959 std::forward<CompletionToken>(token)
979 connection,
id, {0,
static_cast<uint32_t
>(rule)}, ReferenceTypeId::HasModellingRule, true
988template <
typename CompletionToken>
995 {0,
static_cast<uint32_t
>(rule)},
996 ReferenceTypeId::HasModellingRule,
998 std::forward<CompletionToken>(token)
UA_ExtensionObject wrapper class.
The template class Result encapsulates a StatusCode and optionally a value.
High-level session class to manage client sessions.
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.
std::variant< std::function< void(Span< const Variant > input, Span< Variant > output)>, std::function< StatusCode(Session &session, Span< const Variant > input, Span< Variant > output, const NodeId &methodId, const NodeId &objectId)> > MethodCallback
Method callback.
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.
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.