10#include "open62541pp/config.hpp"
44template <
typename Connection>
83 std::string_view browseName,
96 template <
typename CompletionToken = DefaultCompletionToken>
99 std::string_view browseName,
111 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
118 std::string_view browseName,
126 connection(), this->
id(),
id, browseName, attributes, objectType, referenceType
134 template <
typename CompletionToken = DefaultCompletionToken>
137 std::string_view browseName,
151 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
158 std::string_view browseName,
166 connection(), this->
id(),
id, browseName, attributes, variableType, referenceType
174 template <
typename CompletionToken = DefaultCompletionToken>
177 std::string_view browseName,
191 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
208 template <
typename CompletionToken = DefaultCompletionToken>
211 std::string_view browseName,
221 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
225#ifdef UA_ENABLE_METHODCALLS
229 std::string_view browseName,
255 template <
typename CompletionToken = DefaultCompletionToken>
258 std::string_view browseName,
276 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
284 std::string_view browseName,
291 connection(), this->
id(),
id, browseName, attributes, referenceType
299 template <
typename CompletionToken = DefaultCompletionToken>
302 std::string_view browseName,
314 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
321 std::string_view browseName,
329 connection(), this->
id(),
id, browseName, attributes, variableType, referenceType
337 template <
typename CompletionToken = DefaultCompletionToken>
340 std::string_view browseName,
354 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
361 std::string_view browseName,
368 connection(), this->
id(),
id, browseName, attributes, referenceType
376 template <
typename CompletionToken = DefaultCompletionToken>
379 std::string_view browseName,
391 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
398 std::string_view browseName,
405 connection(), this->
id(),
id, browseName, attributes, referenceType
413 template <
typename CompletionToken = DefaultCompletionToken>
416 std::string_view browseName,
428 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
435 std::string_view browseName,
448 template <
typename CompletionToken = DefaultCompletionToken>
451 std::string_view browseName,
463 fromIdAsync(
connection(), std::forward<CompletionToken>(token))
476 template <
typename CompletionToken = DefaultCompletionToken>
479 const NodeId& referenceType,
489 std::forward<CompletionToken>(token)
502 template <
typename CompletionToken = DefaultCompletionToken>
507 connection(),
id(), rule, std::forward<CompletionToken>(token)
519 template <
typename CompletionToken = DefaultCompletionToken>
524 connection(),
id(), deleteReferences, std::forward<CompletionToken>(token)
531 const NodeId& referenceType,
532 bool isForward =
true,
533 bool deleteBidirectional =
true
536 connection(),
id(), targetId, referenceType, isForward, deleteBidirectional
545 template <
typename CompletionToken = DefaultCompletionToken>
548 const NodeId& referenceType,
549 bool isForward =
true,
550 bool deleteBidirectional =
true,
560 std::forward<CompletionToken>(token)
572 bool includeSubtypes =
true,
590 bool includeSubtypes =
true,
602 std::vector<Node> nodes;
603 nodes.reserve(refs.size());
604 for (
auto&& ref : refs) {
605 if (ref.getNodeId().isLocal()) {
606 nodes.emplace_back(
connection(), std::move(ref.getNodeId().getNodeId()));
625 result.getStatusCode().throwIfBad();
626 for (
auto&& target : result.getTargets()) {
627 if (target.getTargetId().isLocal()) {
628 return {
connection(), std::move(target.getTargetId().getNodeId())};
647 result.getStatusCode().throwIfBad();
648 if (result.getReferences().empty()) {
651 return fromId(
connection(), result.getReferences().front().getNodeId());
654#ifdef UA_ENABLE_METHODCALLS
665 template <
typename CompletionToken = DefaultCompletionToken>
672 connection(),
id(), methodId, inputArguments, std::forward<CompletionToken>(token)
687 template <
typename CompletionToken = DefaultCompletionToken>
690 connection(),
id(), std::forward<CompletionToken>(token)
700 template <
typename CompletionToken = DefaultCompletionToken>
703 connection(),
id(), std::forward<CompletionToken>(token)
713 template <
typename CompletionToken = DefaultCompletionToken>
716 connection(),
id(), std::forward<CompletionToken>(token)
726 template <
typename CompletionToken = DefaultCompletionToken>
729 connection(),
id(), std::forward<CompletionToken>(token)
739 template <
typename CompletionToken = DefaultCompletionToken>
742 connection(),
id(), std::forward<CompletionToken>(token)
752 template <
typename CompletionToken = DefaultCompletionToken>
755 connection(),
id(), std::forward<CompletionToken>(token)
765 template <
typename CompletionToken = DefaultCompletionToken>
768 connection(),
id(), std::forward<CompletionToken>(token)
778 template <
typename CompletionToken = DefaultCompletionToken>
781 connection(),
id(), std::forward<CompletionToken>(token)
791 template <
typename CompletionToken = DefaultCompletionToken>
794 connection(),
id(), std::forward<CompletionToken>(token)
804 template <
typename CompletionToken = DefaultCompletionToken>
807 connection(),
id(), std::forward<CompletionToken>(token)
817 template <
typename CompletionToken = DefaultCompletionToken>
820 connection(),
id(), std::forward<CompletionToken>(token)
830 template <
typename CompletionToken = DefaultCompletionToken>
833 connection(),
id(), std::forward<CompletionToken>(token)
843 template <
typename CompletionToken = DefaultCompletionToken>
849 template <
typename T>
851 return readValue().template getScalarCopy<T>();
855 template <
typename T>
857 return readValue().template getArrayCopy<T>();
866 template <
typename CompletionToken = DefaultCompletionToken>
869 connection(),
id(), std::forward<CompletionToken>(token)
879 template <
typename CompletionToken = DefaultCompletionToken>
882 connection(),
id(), std::forward<CompletionToken>(token)
892 template <
typename CompletionToken = DefaultCompletionToken>
895 connection(),
id(), std::forward<CompletionToken>(token)
905 template <
typename CompletionToken = DefaultCompletionToken>
908 connection(),
id(), std::forward<CompletionToken>(token)
918 template <
typename CompletionToken = DefaultCompletionToken>
921 connection(),
id(), std::forward<CompletionToken>(token)
931 template <
typename CompletionToken = DefaultCompletionToken>
934 connection(),
id(), std::forward<CompletionToken>(token)
944 template <
typename CompletionToken = DefaultCompletionToken>
947 connection(),
id(), std::forward<CompletionToken>(token)
957 template <
typename CompletionToken = DefaultCompletionToken>
960 connection(),
id(), std::forward<CompletionToken>(token)
970 template <
typename CompletionToken = DefaultCompletionToken>
973 connection(),
id(), std::forward<CompletionToken>(token)
983 template <
typename CompletionToken = DefaultCompletionToken>
986 connection(),
id(), std::forward<CompletionToken>(token)
993 return browseObjectProperty(propertyName).
readValue();
1003 template <
typename CompletionToken = DefaultCompletionToken>
1008 connection(),
id(), displayName, std::forward<CompletionToken>(token)
1019 template <
typename CompletionToken = DefaultCompletionToken>
1024 connection(),
id(), description, std::forward<CompletionToken>(token)
1035 template <
typename CompletionToken = DefaultCompletionToken>
1040 connection(),
id(), writeMask, std::forward<CompletionToken>(token)
1051 template <
typename CompletionToken = DefaultCompletionToken>
1056 connection(),
id(), userWriteMask, std::forward<CompletionToken>(token)
1067 template <
typename CompletionToken = DefaultCompletionToken>
1070 connection(),
id(), isAbstract, std::forward<CompletionToken>(token)
1081 template <
typename CompletionToken = DefaultCompletionToken>
1095 template <
typename CompletionToken = DefaultCompletionToken>
1100 connection(),
id(), inverseName, std::forward<CompletionToken>(token)
1111 template <
typename CompletionToken = DefaultCompletionToken>
1116 connection(),
id(), containsNoLoops, std::forward<CompletionToken>(token)
1127 template <
typename CompletionToken = DefaultCompletionToken>
1132 connection(),
id(), eventNotifier, std::forward<CompletionToken>(token)
1143 template <
typename CompletionToken = DefaultCompletionToken>
1148 connection(),
id(), value, std::forward<CompletionToken>(token)
1159 template <
typename CompletionToken = DefaultCompletionToken>
1162 connection(),
id(), value, std::forward<CompletionToken>(token)
1167 template <
typename T>
1175 template <
typename ArrayLike>
1184 template <
typename InputIt>
1198 template <
typename T>
1204 template <
typename CompletionToken = DefaultCompletionToken>
1209 connection(),
id(), dataType, std::forward<CompletionToken>(token)
1220 template <
typename CompletionToken = DefaultCompletionToken>
1225 connection(),
id(), valueRank, std::forward<CompletionToken>(token)
1236 template <
typename CompletionToken = DefaultCompletionToken>
1241 connection(),
id(), dimensions, std::forward<CompletionToken>(token)
1252 template <
typename CompletionToken = DefaultCompletionToken>
1257 connection(),
id(), accessLevel, std::forward<CompletionToken>(token)
1268 template <
typename CompletionToken = DefaultCompletionToken>
1273 connection(),
id(), userAccessLevel, std::forward<CompletionToken>(token)
1284 template <
typename CompletionToken = DefaultCompletionToken>
1289 connection(),
id(), milliseconds, std::forward<CompletionToken>(token)
1300 template <
typename CompletionToken = DefaultCompletionToken>
1305 connection(),
id(), historizing, std::forward<CompletionToken>(token)
1316 template <
typename CompletionToken = DefaultCompletionToken>
1319 connection(),
id(), executable, std::forward<CompletionToken>(token)
1330 template <
typename CompletionToken = DefaultCompletionToken>
1335 connection(),
id(), userExecutable, std::forward<CompletionToken>(token)
1343 browseObjectProperty(propertyName).
writeValue(value);
1351 return {
connection, std::move(result).value()};
1355 if (!
id.isLocal()) {
1356 throw BadStatus(UA_STATUSCODE_BADNODEIDUNKNOWN);
1358 return {
connection, std::move(
id.getNodeId())};
1361 template <
typename CompletionToken>
1362 static auto fromIdAsync(Connection&
connection, CompletionToken&& token) {
1364 [&](Result<NodeId>& result) {
1365 return result.transform([&](
NodeId&
id) ->
Node {
1369 std::forward<CompletionToken>(token)
1378 result.getStatusCode().throwIfBad();
1379 for (
auto&& target : result.getTargets()) {
1380 if (target.getTargetId().isLocal()) {
1381 return {
connection(), std::move(target.getTargetId().getNodeId())};
1384 throw BadStatus(UA_STATUSCODE_BADNOTFOUND);
1387 Connection* connection_;
1393template <
typename Connection>
1395 return (lhs.connection() == rhs.connection()) && (lhs.id() == rhs.id());
1398template <
typename Connection>
1400 return !(lhs == rhs);
Exception for bad status codes from open62541 UA_STATUSCODE_*.
Bitmask using (scoped) enums.
UA_BrowseDescription wrapper class.
UA_CallMethodResult wrapper class.
UA_DataTypeAttributes wrapper class.
UA_DataValue wrapper class.
UA_LocalizedText wrapper class.
UA_MethodAttributes wrapper class.
High-level node class to access node attribute, browse and populate address space.
auto readEventNotifierAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::EventNotifier attribute of a node.
auto writeContainsNoLoopsAsync(bool containsNoLoops, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::ContainsNoLoops attribute of a node.
double readMinimumSamplingInterval()
Read the AttributeId::MinimumSamplingInterval attribute of a node.
auto readArrayDimensionsAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::ArrayDimensions attribute of a node.
auto readHistorizingAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::Historizing attribute of a node.
auto readBrowseNameAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::BrowseName attribute of a node.
auto writeValueAsync(const Variant &value, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::Value attribute of a node.
bool readIsAbstract()
Read the AttributeId::IsAbstract attribute of a node.
auto writeEventNotifierAsync(Bitmask< EventNotifier > eventNotifier, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::EventNotifier attribute of a node.
QualifiedName readBrowseName()
Read the AttributeId::BrowseName attribute of a node.
Node & writeEventNotifier(Bitmask< EventNotifier > eventNotifier)
Write the AttributeId::EventNotifier attribute of a node.
Bitmask< AccessLevel > readUserAccessLevel()
Read the AttributeId::UserAccessLevel attribute of a node.
Variant readObjectProperty(const QualifiedName &propertyName)
Read the value of an object property.
auto readDescriptionAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::Description attribute of a node.
auto addReferenceTypeAsync(const NodeId &id, std::string_view browseName, const ReferenceTypeAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasSubtype, CompletionToken &&token=DefaultCompletionToken())
Add reference type.
LocalizedText readDisplayName()
Read the AttributeId::DisplayName attribute of a node.
auto readUserExecutableAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::UserExecutable attribute of a node.
auto writeArrayDimensionsAsync(Span< const uint32_t > dimensions, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::ArrayDimensions attribute of a node.
Node & writeArrayDimensions(Span< const uint32_t > dimensions)
Write the AttributeId::ArrayDimensions attribute of a node.
auto addMethodAsync(const NodeId &id, std::string_view browseName, services::MethodCallback callback, Span< const Argument > inputArguments, Span< const Argument > outputArguments, const MethodAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasComponent, CompletionToken &&token=DefaultCompletionToken())
Add method.
Node addView(const NodeId &id, std::string_view browseName, const ViewAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::Organizes)
Add view.
auto readDataTypeAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::DataType attribute of a node.
auto readValueRankAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::ValueRank attribute of a node.
Node & writeValueScalar(const T &value)
Write scalar to variable node.
auto addModellingRuleAsync(ModellingRule rule, CompletionToken &&token=DefaultCompletionToken())
Add modelling rule.
auto writeHistorizingAsync(bool historizing, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::Historizing attribute of a node.
Node & writeContainsNoLoops(bool containsNoLoops)
Write the AttributeId::ContainsNoLoops attribute of a node.
DataValue readDataValue()
Read the AttributeId::Value attribute of a node as a DataValue object.
auto writeDescriptionAsync(const LocalizedText &description, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::Description attribute of a node.
auto writeDisplayNameAsync(const LocalizedText &displayName, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::DisplayName attribute of a node.
auto writeDataValueAsync(const DataValue &value, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::Value attribute of a node as a DataValue object.
auto readDataValueAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::Value attribute of a node as a DataValue object.
auto addObjectTypeAsync(const NodeId &id, std::string_view browseName, const ObjectTypeAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasSubtype, CompletionToken &&token=DefaultCompletionToken())
Add object type.
Node & addModellingRule(ModellingRule rule)
Add modelling rule.
auto addObjectAsync(const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes={}, const NodeId &objectType=ObjectTypeId::BaseObjectType, const NodeId &referenceType=ReferenceTypeId::HasComponent, CompletionToken &&token=DefaultCompletionToken())
Add object.
Node addObjectType(const NodeId &id, std::string_view browseName, const ObjectTypeAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasSubtype)
Add object type.
Node addProperty(const NodeId &id, std::string_view browseName, const VariableAttributes &attributes={})
Add property.
auto writeValueRankAsync(ValueRank valueRank, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::ValueRank attribute of a node.
Variant readDataTypeDefinition()
Read the AttributeId::DataTypeDefinition attribute of a node.
auto callMethodAsync(const NodeId &methodId, Span< const Variant > inputArguments, CompletionToken &&token=DefaultCompletionToken())
auto addVariableAsync(const NodeId &id, std::string_view browseName, const VariableAttributes &attributes={}, const NodeId &variableType=VariableTypeId::BaseDataVariableType, const NodeId &referenceType=ReferenceTypeId::HasComponent, CompletionToken &&token=DefaultCompletionToken())
Add variable.
Connection & connection() noexcept
Get the server/client instance.
Node & writeValueArray(ArrayLike &&array)
Write array value to variable node.
Node & writeUserExecutable(bool userExecutable)
Write the AttributeId::UserExecutable attribute of a node.
Node & writeObjectProperty(const QualifiedName &propertyName, const Variant &value)
Write the value of an object property.
std::vector< Node > browseChildren(const NodeId &referenceType=ReferenceTypeId::HierarchicalReferences, Bitmask< NodeClass > nodeClassMask=NodeClass::Unspecified)
Browse child nodes (only local nodes).
auto addVariableTypeAsync(const NodeId &id, std::string_view browseName, const VariableTypeAttributes &attributes={}, const NodeId &variableType=VariableTypeId::BaseDataVariableType, const NodeId &referenceType=ReferenceTypeId::HasSubtype, CompletionToken &&token=DefaultCompletionToken())
Add variable type.
Node(Connection &connection, const NodeId &id)
Create a Node object.
void deleteNode(bool deleteReferences=true)
Delete node.
auto addDataTypeAsync(const NodeId &id, std::string_view browseName, const DataTypeAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasSubtype, CompletionToken &&token=DefaultCompletionToken())
Add data type.
auto deleteNodeAsync(bool deleteReferences=true, CompletionToken &&token=DefaultCompletionToken())
Delete node.
auto readContainsNoLoopsAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::ContainsNoLoops attribute of a node.
auto writeAccessLevelAsync(Bitmask< AccessLevel > accessLevel, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::AccessLevel attribute of a node.
Node & writeHistorizing(bool historizing)
Write the AttributeId::Historizing attribute of a node.
LocalizedText readInverseName()
Read the AttributeId::InverseName attribute of a node.
Node & deleteReference(const NodeId &targetId, const NodeId &referenceType, bool isForward=true, bool deleteBidirectional=true)
Delete reference.
NodeClass readNodeClass()
Read the AttributeId::NodeClass attribute of a node.
Node & writeSymmetric(bool symmetric)
Write the AttributeId::Symmetric attribute of a node.
auto readWriteMaskAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::WriteMask attribute of a node.
bool exists() noexcept
Check if the Node exists in the most efficient manner.
auto addPropertyAsync(const NodeId &id, std::string_view browseName, const VariableAttributes &attributes={}, CompletionToken &&token=DefaultCompletionToken())
Add property.
Node & writeAccessLevel(Bitmask< AccessLevel > accessLevel)
Write the AttributeId::AccessLevel attribute of a node.
Node addFolder(const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasComponent)
Add folder.
auto deleteReferenceAsync(const NodeId &targetId, const NodeId &referenceType, bool isForward=true, bool deleteBidirectional=true, CompletionToken &&token=DefaultCompletionToken())
Delete reference.
Node & writeDataType(const NodeId &dataType)
Write the AttributeId::DataType attribute of a node.
std::vector< uint32_t > readArrayDimensions()
Read the AttributeId::ArrayDimensions attribute of a node.
Node & writeDataValue(const DataValue &value)
Write the AttributeId::Value attribute of a node as a DataValue object.
Node addObject(const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes={}, const NodeId &objectType=ObjectTypeId::BaseObjectType, const NodeId &referenceType=ReferenceTypeId::HasComponent)
Add object.
Node & writeWriteMask(Bitmask< WriteMask > writeMask)
Write the AttributeId::WriteMask attribute of a node.
std::vector< Node > browseReferencedNodes(BrowseDirection browseDirection=BrowseDirection::Both, const NodeId &referenceType=ReferenceTypeId::References, bool includeSubtypes=true, Bitmask< NodeClass > nodeClassMask=NodeClass::Unspecified)
Browse referenced nodes (only local nodes).
Node addDataType(const NodeId &id, std::string_view browseName, const DataTypeAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasSubtype)
Add data type.
auto writeInverseNameAsync(const LocalizedText &inverseName, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::InverseName attribute of a node.
std::vector< ReferenceDescription > browseReferences(BrowseDirection browseDirection=BrowseDirection::Both, const NodeId &referenceType=ReferenceTypeId::References, bool includeSubtypes=true, Bitmask< NodeClass > nodeClassMask=NodeClass::Unspecified)
Browse references.
auto readInverseNameAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::InverseName attribute of a node.
T readValueScalar()
Read scalar value from variable node.
auto readDisplayNameAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::DisplayName attribute of a node.
bool readExecutable()
Read the AttributeId::Executable attribute of a node.
bool readContainsNoLoops()
Read the AttributeId::ContainsNoLoops attribute of a node.
Node & writeInverseName(const LocalizedText &inverseName)
Write the AttributeId::InverseName attribute of a node.
Bitmask< AccessLevel > readAccessLevel()
Read the AttributeId::AccessLevel attribute of a node.
Node addReferenceType(const NodeId &id, std::string_view browseName, const ReferenceTypeAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasSubtype)
Add reference type.
Variant readValue()
Read the AttributeId::Value attribute of a node.
Node & writeValueRank(ValueRank valueRank)
Write the AttributeId::ValueRank attribute of a node.
Node & writeDisplayName(const LocalizedText &displayName)
Write the AttributeId::DisplayName attribute of a node.
Node(Connection &connection, NodeId &&id)
Create a Node object.
auto addFolderAsync(const NodeId &id, std::string_view browseName, const ObjectAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasComponent, CompletionToken &&token=DefaultCompletionToken())
Add folder.
bool readSymmetric()
Read the AttributeId::Symmetric attribute of a node.
Node & writeIsAbstract(bool isAbstract)
Write the AttributeId::IsAbstract attribute of a node.
LocalizedText readDescription()
Read the AttributeId::Description attribute of a node.
auto writeUserAccessLevelAsync(Bitmask< AccessLevel > userAccessLevel, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::UserAccessLevel attribute of a node.
Node addVariableType(const NodeId &id, std::string_view browseName, const VariableTypeAttributes &attributes={}, const NodeId &variableType=VariableTypeId::BaseDataVariableType, const NodeId &referenceType=ReferenceTypeId::HasSubtype)
Add variable type.
auto readSymmetricAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::Symmetric attribute of a node.
Bitmask< WriteMask > readUserWriteMask()
Read the AttributeId::UserWriteMask attribute of a node.
Node & writeDataType()
This is an overloaded member function, provided for convenience. It differs from the above function o...
Node & writeValue(const Variant &value)
Write the AttributeId::Value attribute of a node.
bool readHistorizing()
Read the AttributeId::Historizing attribute of a node.
Node & writeUserWriteMask(Bitmask< WriteMask > userWriteMask)
Write the AttributeId::UserWriteMask attribute of a node.
ValueRank readValueRank()
Read the AttributeId::ValueRank attribute of a node.
auto writeWriteMaskAsync(Bitmask< WriteMask > writeMask, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::WriteMask attribute of a node.
auto readIsAbstractAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::IsAbstract attribute of a node.
Node & writeExecutable(bool executable)
Write the AttributeId::Executable attribute of a node.
auto writeExecutableAsync(bool executable, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::Executable attribute of a node.
auto readExecutableAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::Executable attribute of a node.
Node & addReference(const NodeId &targetId, const NodeId &referenceType, bool forward=true)
Add reference.
auto readValueAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::Value attribute of a node.
NodeId readDataType()
Read the AttributeId::DataType attribute of a node.
std::vector< T > readValueArray()
Read array value from variable node.
const Connection & connection() const noexcept
Get the server/client instance.
auto readUserAccessLevelAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::UserAccessLevel attribute of a node.
auto readMinimumSamplingIntervalAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::MinimumSamplingInterval attribute of a node.
Node addVariable(const NodeId &id, std::string_view browseName, const VariableAttributes &attributes={}, const NodeId &variableType=VariableTypeId::BaseDataVariableType, const NodeId &referenceType=ReferenceTypeId::HasComponent)
Add variable.
auto addViewAsync(const NodeId &id, std::string_view browseName, const ViewAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::Organizes, CompletionToken &&token=DefaultCompletionToken())
Add view.
Node & writeDescription(const LocalizedText &description)
Write the AttributeId::Description attribute of a node.
auto writeDataTypeAsync(const NodeId &dataType, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::DataType attribute of a node.
Node & writeValueArray(InputIt first, InputIt last)
Write range of elements as array value to variable node.
Node addMethod(const NodeId &id, std::string_view browseName, services::MethodCallback callback, Span< const Argument > inputArguments, Span< const Argument > outputArguments, const MethodAttributes &attributes={}, const NodeId &referenceType=ReferenceTypeId::HasComponent)
Add method.
CallMethodResult callMethod(const NodeId &methodId, Span< const Variant > inputArguments)
Call server methods.
auto readAccessLevelAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::AccessLevel attribute of a node.
auto writeMinimumSamplingIntervalAsync(double milliseconds, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::MinimumSamplingInterval attribute of a node.
Node browseParent()
Browse parent node.
Bitmask< WriteMask > readWriteMask()
Read the AttributeId::WriteMask attribute of a node.
Node & writeUserAccessLevel(Bitmask< AccessLevel > userAccessLevel)
Write the AttributeId::UserAccessLevel attribute of a node.
auto writeUserExecutableAsync(bool userExecutable, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::UserExecutable attribute of a node.
auto writeSymmetricAsync(bool symmetric, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::Symmetric attribute of a node.
auto readDataTypeDefinitionAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::DataTypeDefinition attribute of a node.
bool readUserExecutable()
Read the AttributeId::UserExecutable attribute of a node.
const NodeId & id() const noexcept
Get the node id.
auto addReferenceAsync(const NodeId &targetId, const NodeId &referenceType, bool forward=true, CompletionToken &&token=DefaultCompletionToken())
Add reference.
auto readNodeClassAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::NodeClass attribute of a node.
auto writeUserWriteMaskAsync(Bitmask< WriteMask > userWriteMask, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::UserWriteMask attribute of a node.
Bitmask< EventNotifier > readEventNotifier()
Read the AttributeId::EventNotifier attribute of a node.
auto writeIsAbstractAsync(bool isAbstract, CompletionToken &&token=DefaultCompletionToken())
Write the AttributeId::IsAbstract attribute of a node.
Node & writeMinimumSamplingInterval(double milliseconds)
Write the AttributeId::MinimumSamplingInterval attribute of a node.
auto readUserWriteMaskAsync(CompletionToken &&token=DefaultCompletionToken())
Read the AttributeId::UserWriteMask attribute of a node.
Node browseChild(Span< const QualifiedName > path)
Browse child node specified by its relative path from this node (only local nodes).
UA_ObjectAttributes wrapper class.
UA_ObjectTypeAttributes wrapper class.
UA_QualifiedName wrapper class.
UA_ReferenceTypeAttributes 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.
constexpr void throwIfBad() const
Throw a BadStatus exception if the status code is bad.
UA_VariableAttributes wrapper class.
UA_VariableAttributes wrapper class.
UA_Variant wrapper class.
static Variant fromScalar(T &&value)
Create Variant from scalar value.
static Variant fromArray(ArrayLike &&array)
Create Variant from array.
UA_ViewAttributes wrapper class.
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 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 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.
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.
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.
UseFutureToken DefaultCompletionToken
Default completion token for async operations.
Result< std::vector< ReferenceDescription > > browseAll(T &connection, const BrowseDescription &bd, uint32_t maxReferences=0)
Discover all the references of a specified node (without calling browseNext).
BrowseResponse browse(Client &connection, const BrowseRequest &request) noexcept
Discover the references of one or more nodes (client only).
CallResponse call(Client &connection, const CallRequest &request) noexcept
Call server methods.
auto callAsync(Client &connection, const CallRequest &request, CompletionToken &&token)
Call server methods.
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 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.
auto readDataValueAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::Value attribute of a node as a DataValue object.
Result< bool > readContainsNoLoops(T &connection, const NodeId &id) noexcept
Read the AttributeId::ContainsNoLoops attribute of a node.
Result< double > readMinimumSamplingInterval(T &connection, const NodeId &id) noexcept
Read the AttributeId::MinimumSamplingInterval attribute of a node.
Result< NodeId > readDataType(T &connection, const NodeId &id) noexcept
Read the AttributeId::DataType attribute of a node.
Result< bool > readUserExecutable(T &connection, const NodeId &id) noexcept
Read the AttributeId::UserExecutable attribute of a node.
Result< LocalizedText > readInverseName(T &connection, const NodeId &id) noexcept
Read the AttributeId::InverseName attribute of a node.
Result< NodeClass > readNodeClass(T &connection, const NodeId &id) noexcept
Read the AttributeId::NodeClass attribute of a node.
auto readArrayDimensionsAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::ArrayDimensions attribute of a node.
Result< Bitmask< EventNotifier > > readEventNotifier(T &connection, const NodeId &id) noexcept
Read the AttributeId::EventNotifier attribute of a node.
auto readDataTypeDefinitionAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::DataTypeDefinition attribute of a node.
Result< DataValue > readDataValue(T &connection, const NodeId &id) noexcept
Read the AttributeId::Value attribute of a node as a DataValue object.
Result< Bitmask< WriteMask > > readUserWriteMask(T &connection, const NodeId &id) noexcept
Read the AttributeId::UserWriteMask attribute of a node.
Result< bool > readHistorizing(T &connection, const NodeId &id) noexcept
Read the AttributeId::Historizing attribute of a node.
auto readDescriptionAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::Description attribute of a node.
auto readNodeClassAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::NodeClass attribute of a node.
Result< LocalizedText > readDisplayName(T &connection, const NodeId &id) noexcept
Read the AttributeId::DisplayName attribute of a node.
auto readAccessLevelAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::AccessLevel attribute of a node.
auto readUserExecutableAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::UserExecutable attribute of a node.
Result< QualifiedName > readBrowseName(T &connection, const NodeId &id) noexcept
Read the AttributeId::BrowseName attribute of a node.
auto readEventNotifierAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::EventNotifier attribute of a node.
auto readDisplayNameAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::DisplayName attribute of a node.
Result< bool > readExecutable(T &connection, const NodeId &id) noexcept
Read the AttributeId::Executable attribute of a node.
auto readIsAbstractAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::IsAbstract attribute of a node.
auto readDataTypeAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::DataType attribute of a node.
auto readWriteMaskAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::WriteMask attribute of a node.
auto readUserWriteMaskAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::UserWriteMask attribute of a node.
Result< Variant > readDataTypeDefinition(T &connection, const NodeId &id) noexcept
Read the AttributeId::DataTypeDefinition attribute of a node.
Result< Bitmask< WriteMask > > readWriteMask(T &connection, const NodeId &id) noexcept
Read the AttributeId::WriteMask attribute of a node.
auto readExecutableAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::Executable attribute of a node.
Result< LocalizedText > readDescription(T &connection, const NodeId &id) noexcept
Read the AttributeId::Description attribute of a node.
Result< Variant > readValue(T &connection, const NodeId &id) noexcept
Read the AttributeId::Value attribute of a node.
auto readContainsNoLoopsAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::ContainsNoLoops attribute of a node.
auto readSymmetricAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::Symmetric attribute of a node.
auto readMinimumSamplingIntervalAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::MinimumSamplingInterval attribute of a node.
auto readUserAccessLevelAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::UserAccessLevel attribute of a node.
auto readHistorizingAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::Historizing attribute of a node.
Result< ValueRank > readValueRank(T &connection, const NodeId &id) noexcept
Read the AttributeId::ValueRank attribute of a node.
auto readBrowseNameAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::BrowseName attribute of a node.
Result< bool > readIsAbstract(T &connection, const NodeId &id) noexcept
Read the AttributeId::IsAbstract attribute of a node.
auto readValueAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::Value attribute of a node.
Result< bool > readSymmetric(T &connection, const NodeId &id) noexcept
Read the AttributeId::Symmetric attribute of a node.
Result< Bitmask< AccessLevel > > readUserAccessLevel(T &connection, const NodeId &id) noexcept
Read the AttributeId::UserAccessLevel attribute of a node.
Result< Bitmask< AccessLevel > > readAccessLevel(T &connection, const NodeId &id) noexcept
Read the AttributeId::AccessLevel attribute of a node.
Result< std::vector< uint32_t > > readArrayDimensions(T &connection, const NodeId &id) noexcept
Read the AttributeId::ArrayDimensions attribute of a node.
auto readInverseNameAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::InverseName attribute of a node.
auto readValueRankAsync(Client &connection, const NodeId &id, CompletionToken &&token)
Read the AttributeId::ValueRank attribute of a node.
BrowsePathResult translateBrowsePathToNodeIds(T &connection, const BrowsePath &browsePath) noexcept
Translate a browse path to NodeIds.
BrowsePathResult browseSimplifiedBrowsePath(T &connection, const NodeId &origin, Span< const QualifiedName > browsePath)
A simplified version of translateBrowsePathToNodeIds.
StatusCode writeDataType(T &connection, const NodeId &id, const NodeId &dataType) noexcept
Write the AttributeId::DataType attribute of a node.
StatusCode writeHistorizing(T &connection, const NodeId &id, bool historizing) noexcept
Write the AttributeId::Historizing attribute of a node.
StatusCode writeUserWriteMask(T &connection, const NodeId &id, Bitmask< WriteMask > userWriteMask) noexcept
Write the AttributeId::UserWriteMask attribute of a node.
auto writeAccessLevelAsync(Client &connection, const NodeId &id, Bitmask< AccessLevel > accessLevel, CompletionToken &&token)
Write the AttributeId::AccessLevel attribute of a node.
StatusCode writeContainsNoLoops(T &connection, const NodeId &id, const bool &containsNoLoops) noexcept
Write the AttributeId::ContainsNoLoops attribute of a node.
StatusCode writeArrayDimensions(T &connection, const NodeId &id, Span< const uint32_t > arrayDimensions) noexcept
Write the AttributeId::ArrayDimensions attribute of a node.
auto writeHistorizingAsync(Client &connection, const NodeId &id, bool historizing, CompletionToken &&token)
Write the AttributeId::Historizing attribute of a node.
auto writeEventNotifierAsync(Client &connection, const NodeId &id, Bitmask< EventNotifier > eventNotifier, CompletionToken &&token)
Write the AttributeId::EventNotifier attribute of a node.
StatusCode writeEventNotifier(T &connection, const NodeId &id, Bitmask< EventNotifier > eventNotifier) noexcept
Write the AttributeId::EventNotifier attribute of a node.
StatusCode writeExecutable(T &connection, const NodeId &id, bool executable) noexcept
Write the AttributeId::Executable attribute of a node.
auto writeDataValueAsync(Client &connection, const NodeId &id, const DataValue &value, CompletionToken &&token)
Write the AttributeId::Value attribute of a node as a DataValue object.
StatusCode writeIsAbstract(T &connection, const NodeId &id, bool isAbstract) noexcept
Write the AttributeId::IsAbstract attribute of a node.
auto writeArrayDimensionsAsync(Client &connection, const NodeId &id, Span< const uint32_t > arrayDimensions, CompletionToken &&token)
Write the AttributeId::ArrayDimensions attribute of a node.
StatusCode writeValue(T &connection, const NodeId &id, const Variant &value) noexcept
Write the AttributeId::Value attribute of a node.
StatusCode writeDataValue(T &connection, const NodeId &id, const DataValue &value) noexcept
Write the AttributeId::Value attribute of a node as a DataValue object.
auto writeContainsNoLoopsAsync(Client &connection, const NodeId &id, const bool &containsNoLoops, CompletionToken &&token)
Write the AttributeId::ContainsNoLoops attribute of a node.
StatusCode writeValueRank(T &connection, const NodeId &id, ValueRank valueRank) noexcept
Write the AttributeId::ValueRank attribute of a node.
auto writeUserWriteMaskAsync(Client &connection, const NodeId &id, Bitmask< WriteMask > userWriteMask, CompletionToken &&token)
Write the AttributeId::UserWriteMask attribute of a node.
auto writeValueRankAsync(Client &connection, const NodeId &id, ValueRank valueRank, CompletionToken &&token)
Write the AttributeId::ValueRank attribute of a node.
StatusCode writeInverseName(T &connection, const NodeId &id, const LocalizedText &inverseName) noexcept
Write the AttributeId::InverseName attribute of a node.
auto writeDataTypeAsync(Client &connection, const NodeId &id, const NodeId &dataType, CompletionToken &&token)
Write the AttributeId::DataType attribute of a node.
auto writeDisplayNameAsync(Client &connection, const NodeId &id, const LocalizedText &displayName, CompletionToken &&token)
Write the AttributeId::DisplayName attribute of a node.
auto writeInverseNameAsync(Client &connection, const NodeId &id, const LocalizedText &inverseName, CompletionToken &&token)
Write the AttributeId::InverseName attribute of a node.
StatusCode writeDescription(T &connection, const NodeId &id, const LocalizedText &description) noexcept
Write the AttributeId::Description attribute of a node.
StatusCode writeDisplayName(T &connection, const NodeId &id, const LocalizedText &displayName) noexcept
Write the AttributeId::DisplayName attribute of a node.
StatusCode writeUserAccessLevel(T &connection, const NodeId &id, Bitmask< AccessLevel > userAccessLevel) noexcept
Write the AttributeId::UserAccessLevel attribute of a node.
StatusCode writeMinimumSamplingInterval(T &connection, const NodeId &id, double minimumSamplingInterval) noexcept
Write the AttributeId::MinimumSamplingInterval attribute of a node.
auto writeSymmetricAsync(Client &connection, const NodeId &id, bool symmetric, CompletionToken &&token)
Write the AttributeId::Symmetric attribute of a node.
StatusCode writeWriteMask(T &connection, const NodeId &id, Bitmask< WriteMask > writeMask) noexcept
Write the AttributeId::WriteMask attribute of a node.
auto writeMinimumSamplingIntervalAsync(Client &connection, const NodeId &id, double minimumSamplingInterval, CompletionToken &&token)
Write the AttributeId::MinimumSamplingInterval attribute of a node.
StatusCode writeSymmetric(T &connection, const NodeId &id, bool symmetric) noexcept
Write the AttributeId::Symmetric attribute of a node.
StatusCode writeAccessLevel(T &connection, const NodeId &id, Bitmask< AccessLevel > accessLevel) noexcept
Write the AttributeId::AccessLevel attribute of a node.
StatusCode writeUserExecutable(T &connection, const NodeId &id, bool userExecutable) noexcept
Write the AttributeId::UserExecutable attribute of a node.
auto writeValueAsync(Client &connection, const NodeId &id, const Variant &value, CompletionToken &&token)
Write the AttributeId::Value attribute of a node.
auto writeWriteMaskAsync(Client &connection, const NodeId &id, Bitmask< WriteMask > writeMask, CompletionToken &&token)
Write the AttributeId::WriteMask attribute of a node.
auto writeIsAbstractAsync(Client &connection, const NodeId &id, bool isAbstract, CompletionToken &&token)
Write the AttributeId::IsAbstract attribute of a node.
auto writeDescriptionAsync(Client &connection, const NodeId &id, const LocalizedText &description, CompletionToken &&token)
Write the AttributeId::Description attribute of a node.
auto writeUserExecutableAsync(Client &connection, const NodeId &id, bool userExecutable, CompletionToken &&token)
Write the AttributeId::UserExecutable attribute of a node.
auto writeExecutableAsync(Client &connection, const NodeId &id, bool executable, CompletionToken &&token)
Write the AttributeId::Executable attribute of a node.
auto writeUserAccessLevelAsync(Client &connection, const NodeId &id, Bitmask< AccessLevel > userAccessLevel, CompletionToken &&token)
Write the AttributeId::UserAccessLevel attribute of a node.
TransformToken(TransformFunction &&, CompletionToken &&) -> TransformToken< TransformFunction, CompletionToken >
BrowseDirection
Browse direction.
Client * asWrapper(UA_Client *client) noexcept
Convert native UA_Client pointer to its wrapper instance.
bool operator!=(const Client &lhs, const Client &rhs) noexcept
@ NodeId
Unambiguous identifier of a node.
const UA_DataType & getDataType() noexcept
ModellingRule
Modelling rules.
bool operator==(const Client &lhs, const Client &rhs) noexcept
#define UA_STATUSCODE_BADNOTFOUND
#define UA_STATUSCODE_BADNOMATCH
If a reference is symmetric