4#include <initializer_list>
12#include "open62541pp/config.hpp"
24#ifndef UA_DEFAULT_ATTRIBUTES_DEFINED
25#define UA_DEFAULT_ATTRIBUTES_DEFINED
39#define UAPP_GETTER(Type, getterName, member) \
40 Type member() const noexcept { \
41 return handle()->member; \
44 [[deprecated("use " #member " instead")]] \
45 Type getterName() const noexcept { \
46 return handle()->member; \
49#define UAPP_GETTER_CAST(Type, getterName, member) \
50 Type member() const noexcept { \
51 return static_cast<Type>(handle()->member); \
54 [[deprecated("use " #member " instead")]] \
55 Type getterName() const noexcept { \
56 return static_cast<Type>(handle()->member); \
59#define UAPP_GETTER_WRAPPER_CONST(Type, getterName, member) \
60 const Type& member() const noexcept { \
61 return asWrapper<Type>(handle()->member); \
64 [[deprecated("use " #member " instead")]] \
65 const Type& getterName() const noexcept { \
66 return asWrapper<Type>(handle()->member); \
68#define UAPP_GETTER_WRAPPER_NONCONST(Type, getterName, member) \
69 Type& member() noexcept { \
70 return asWrapper<Type>(handle()->member); \
73 [[deprecated("use " #member " instead")]] \
74 Type& getterName() noexcept { \
75 return asWrapper<Type>(handle()->member); \
77#define UAPP_GETTER_WRAPPER(Type, getterName, member) \
78 UAPP_GETTER_WRAPPER_CONST(Type, getterName, member) \
79 UAPP_GETTER_WRAPPER_NONCONST(Type, getterName, member)
81#define UAPP_GETTER_SPAN(Type, getterName, memberArray, memberSize) \
82 Span<const Type> memberArray() const noexcept { \
83 return {handle()->memberArray, handle()->memberSize}; \
85 Span<Type> memberArray() noexcept { \
86 return {handle()->memberArray, handle()->memberSize}; \
89 [[deprecated("use " #memberArray " instead")]] \
90 Span<const Type> getterName() const noexcept { \
91 return {handle()->memberArray, handle()->memberSize}; \
94 [[deprecated("use " #memberArray " instead")]] \
95 Span<Type> getterName() noexcept { \
96 return {handle()->memberArray, handle()->memberSize}; \
99#define UAPP_GETTER_SPAN_WRAPPER(Type, getterName, memberArray, memberSize) \
100 Span<const Type> memberArray() const noexcept { \
101 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
103 Span<Type> memberArray() noexcept { \
104 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
107 [[deprecated("use " #memberArray " instead")]] \
108 Span<const Type> getterName() const noexcept { \
109 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
112 [[deprecated("use " #memberArray " instead")]] \
113 Span<Type> getterName() noexcept { \
114 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
167 :
public TypeWrapper<UA_ApplicationDescription, UA_TYPES_APPLICATIONDESCRIPTION> {
169 using TypeWrapper::TypeWrapper;
172 std::string_view applicationUri,
173 std::string_view productUri,
176 std::string_view gatewayServerUri,
177 std::string_view discoveryProfileUri,
180 handle()->applicationUri = detail::toNative(applicationUri);
181 handle()->productUri = detail::toNative(productUri);
182 handle()->applicationName = detail::toNative(std::move(applicationName));
184 handle()->gatewayServerUri = detail::toNative(gatewayServerUri);
185 handle()->discoveryProfileUri = detail::toNative(discoveryProfileUri);
186 handle()->discoveryUrlsSize = discoveryUrls.
size();
187 handle()->discoveryUrls = detail::toNativeArray(discoveryUrls);
205 using TypeWrapper::TypeWrapper;
208 NodeId authenticationToken,
211 uint32_t returnDiagnostics,
212 std::string_view auditEntryId,
213 uint32_t timeoutHint,
216 handle()->authenticationToken = detail::toNative(std::move(authenticationToken));
217 handle()->timestamp = timestamp;
218 handle()->requestHandle = requestHandle;
219 handle()->returnDiagnostics = returnDiagnostics;
220 handle()->auditEntryId = detail::toNative(auditEntryId);
221 handle()->timeoutHint = timeoutHint;
222 handle()->additionalHeader = detail::toNative(std::move(additionalHeader));
240 using TypeWrapper::TypeWrapper;
283 using TypeWrapper::TypeWrapper;
286 std::string_view policyId,
288 std::string_view issuedTokenType,
289 std::string_view issuerEndpointUrl,
290 std::string_view securityPolicyUri
292 handle()->policyId = detail::toNative(policyId);
294 handle()->issuedTokenType = detail::toNative(issuedTokenType);
295 handle()->issuerEndpointUrl = detail::toNative(issuerEndpointUrl);
296 handle()->securityPolicyUri = detail::toNative(securityPolicyUri);
313 using TypeWrapper::TypeWrapper;
321 UserTokenPolicy, getUserIdentityTokens, userIdentityTokens, userIdentityTokensSize
381#define UAPP_NODEATTR(Type, suffix, member, flag) \
382 UAPP_GETTER(Type, get##suffix, member) \
383 auto& set##suffix(Type member) noexcept { \
384 handle()->specifiedAttributes |= flag; \
385 handle()->member = member; \
388#define UAPP_NODEATTR_BITMASK(Type, suffix, member, flag) \
389 UAPP_GETTER(Type, get##suffix, member) \
390 auto& set##suffix(Type member) noexcept { \
391 handle()->specifiedAttributes |= flag; \
392 handle()->member = member.get(); \
395#define UAPP_NODEATTR_CAST(Type, suffix, member, flag) \
396 UAPP_GETTER_CAST(Type, get##suffix, member) \
397 auto& set##suffix(Type member) noexcept { \
398 handle()->specifiedAttributes |= flag; \
399 handle()->member = static_cast<decltype(handle()->member)>(member); \
402#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag) \
403 UAPP_GETTER_WRAPPER_CONST(Type, get##suffix, member) \
404 auto& set##suffix(Type member) { \
405 handle()->specifiedAttributes |= flag; \
406 asWrapper<Type>(handle()->member) = std::move(member); \
409#define UAPP_NODEATTR_ARRAY(Type, suffix, member, memberSize, flag) \
410 UAPP_GETTER_SPAN(Type, get##suffix, member, memberSize) \
411 auto& set##suffix(Span<const Type> member) { \
412 const auto& dataType = opcua::getDataType<Type>(); \
413 handle()->specifiedAttributes |= flag; \
414 detail::deallocateArray(handle()->member, handle()->memberSize, dataType); \
415 handle()->member = detail::copyArray(member.data(), member.size(), dataType); \
416 handle()->memberSize = member.size(); \
419#define UAPP_NODEATTR_COMMON \
420 UAPP_GETTER(Bitmask<NodeAttributesMask>, getSpecifiedAttributes, specifiedAttributes) \
421 UAPP_NODEATTR_WRAPPER( \
422 LocalizedText, DisplayName, displayName, UA_NODEATTRIBUTESMASK_DISPLAYNAME \
424 UAPP_NODEATTR_WRAPPER( \
425 LocalizedText, Description, description, UA_NODEATTRIBUTESMASK_DESCRIPTION \
427 UAPP_NODEATTR_BITMASK( \
428 Bitmask<WriteMask>, WriteMask, writeMask, UA_NODEATTRIBUTESMASK_WRITEMASK \
430 UAPP_NODEATTR_BITMASK( \
431 Bitmask<WriteMask>, UserWriteMask, userWriteMask, UA_NODEATTRIBUTESMASK_USERWRITEMASK \
442 using TypeWrapper::TypeWrapper;
453 using TypeWrapper::TypeWrapper;
471 using TypeWrapper::TypeWrapper;
481 template <
typename... Args>
483 return setValue(
Variant(std::forward<Args>(
args)...));
487 template <
typename... Args>
489 return setValue(
Variant(std::forward<Args>(
args)...));
496 template <
typename T>
498 return setDataType(asWrapper<NodeId>(opcua::getDataType<T>().typeId));
507 UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS
516 UA_NODEATTRIBUTESMASK_USERACCESSLEVEL
520 MinimumSamplingInterval,
521 minimumSamplingInterval,
522 UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL
524 UAPP_NODEATTR(
bool, Historizing, historizing, UA_NODEATTRIBUTESMASK_HISTORIZING)
533 using TypeWrapper::TypeWrapper;
540 UAPP_NODEATTR(
bool, Executable, executable, UA_NODEATTRIBUTESMASK_EXECUTABLE)
541 UAPP_NODEATTR(
bool, UserExecutable, userExecutable, UA_NODEATTRIBUTESMASK_USEREXECUTABLE)
551 using TypeWrapper::TypeWrapper;
558 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
566 :
public TypeWrapper<UA_VariableTypeAttributes, UA_TYPES_VARIABLETYPEATTRIBUTES> {
568 using TypeWrapper::TypeWrapper;
578 template <
typename... Args>
580 return setValue(
Variant(std::forward<Args>(
args)...));
584 template <
typename... Args>
586 return setValue(
Variant(std::forward<Args>(
args)...));
593 template <
typename T>
595 return setDataType(asWrapper<NodeId>(opcua::getDataType<T>().typeId));
604 UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS
606 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
616 using TypeWrapper::TypeWrapper;
623 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
626 LocalizedText, InverseName, inverseName, UA_NODEATTRIBUTESMASK_INVERSENAME
636 using TypeWrapper::TypeWrapper;
643 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
652 using TypeWrapper::TypeWrapper;
659 UAPP_NODEATTR(
bool, IsAbstract, containsNoLoops, UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS)
666#undef UAPP_NODEATTR_WRAPPER
667#undef UAPP_NODEATTR_ARRAY
668#undef UAPP_NODEATTR_COMMON
678 using TypeWrapper::TypeWrapper;
688 :
public TypeWrapper<UA_AnonymousIdentityToken, UA_TYPES_ANONYMOUSIDENTITYTOKEN> {
690 using TypeWrapper::TypeWrapper;
700 :
public TypeWrapper<UA_UserNameIdentityToken, UA_TYPES_USERNAMEIDENTITYTOKEN> {
702 using TypeWrapper::TypeWrapper;
705 std::string_view userName,
706 std::string_view password,
707 std::string_view encryptionAlgorithm = {}
709 handle()->userName = detail::toNative(userName);
710 handle()->password = detail::toNative(password);
711 handle()->encryptionAlgorithm = detail::toNative(encryptionAlgorithm);
726 using TypeWrapper::TypeWrapper;
729 handle()->certificateData = detail::toNative(std::move(certificateData));
743 using TypeWrapper::TypeWrapper;
746 handle()->tokenData = detail::toNative(std::move(tokenData));
747 handle()->encryptionAlgorithm = detail::toNative(encryptionAlgorithm);
761 using TypeWrapper::TypeWrapper;
772 handle()->parentNodeId = detail::toNative(std::move(parentNodeId));
773 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
774 handle()->requestedNewNodeId = detail::toNative(std::move(requestedNewNodeId));
775 handle()->browseName = detail::toNative(std::move(browseName));
776 handle()->nodeClass =
static_cast<UA_NodeClass>(nodeClass);
777 handle()->nodeAttributes = detail::toNative(std::move(nodeAttributes));
778 handle()->typeDefinition = detail::toNative(std::move(typeDefinition));
796 using TypeWrapper::TypeWrapper;
808 using TypeWrapper::TypeWrapper;
811 handle()->requestHeader = detail::toNative(std::move(requestHeader));
812 handle()->nodesToAddSize = nodesToAdd.
size();
813 handle()->nodesToAdd = detail::toNativeArray(nodesToAdd);
826 using TypeWrapper::TypeWrapper;
831 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
841 using TypeWrapper::TypeWrapper;
847 std::string_view targetServerUri,
851 handle()->sourceNodeId = detail::toNative(std::move(sourceNodeId));
852 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
853 handle()->isForward = isForward;
854 handle()->targetServerUri = detail::toNative(targetServerUri);
855 handle()->targetNodeId = detail::toNative(std::move(targetNodeId));
856 handle()->targetNodeClass =
static_cast<UA_NodeClass>(targetNodeClass);
874 using TypeWrapper::TypeWrapper;
879 handle()->requestHeader = detail::toNative(std::move(requestHeader));
880 handle()->referencesToAddSize = referencesToAdd.
size();
881 handle()->referencesToAdd = detail::toNativeArray(referencesToAdd);
895 :
public TypeWrapper<UA_AddReferencesResponse, UA_TYPES_ADDREFERENCESRESPONSE> {
897 using TypeWrapper::TypeWrapper;
902 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
912 using TypeWrapper::TypeWrapper;
915 handle()->nodeId = detail::toNative(std::move(nodeId));
916 handle()->deleteTargetReferences = deleteTargetReferences;
920 UAPP_GETTER(
bool, getDeleteTargetReferences, deleteTargetReferences)
929 using TypeWrapper::TypeWrapper;
932 handle()->requestHeader = detail::toNative(std::move(requestHeader));
933 handle()->nodesToDeleteSize = nodesToDelete.
size();
934 handle()->nodesToDelete = detail::toNativeArray(nodesToDelete);
948 using TypeWrapper::TypeWrapper;
953 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
964 using TypeWrapper::TypeWrapper;
971 bool deleteBidirectional
973 handle()->sourceNodeId = detail::toNative(std::move(sourceNodeId));
974 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
975 handle()->isForward = isForward;
976 handle()->targetNodeId = detail::toNative(std::move(targetNodeId));
977 handle()->deleteBidirectional = deleteBidirectional;
994 using TypeWrapper::TypeWrapper;
999 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1000 handle()->referencesToDeleteSize = referencesToDelete.
size();
1001 handle()->referencesToDelete = detail::toNativeArray(referencesToDelete);
1015 :
public TypeWrapper<UA_DeleteReferencesResponse, UA_TYPES_DELETEREFERENCESRESPONSE> {
1017 using TypeWrapper::TypeWrapper;
1022 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1031 using TypeWrapper::TypeWrapper;
1034 handle()->viewId = detail::toNative(std::move(viewId));
1035 handle()->timestamp = timestamp;
1036 handle()->viewVersion = viewVersion;
1093 using TypeWrapper::TypeWrapper;
1098 NodeId referenceTypeId = ReferenceTypeId::References,
1099 bool includeSubtypes =
true,
1103 handle()->nodeId = detail::toNative(std::move(nodeId));
1105 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
1106 handle()->includeSubtypes = includeSubtypes;
1107 handle()->nodeClassMask = nodeClassMask.get();
1108 handle()->resultMask = resultMask.get();
1124 using TypeWrapper::TypeWrapper;
1129 uint32_t requestedMaxReferencesPerNode,
1132 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1133 handle()->view = detail::toNative(std::move(view));
1134 handle()->requestedMaxReferencesPerNode = requestedMaxReferencesPerNode;
1135 handle()->nodesToBrowseSize = nodesToBrowse.
size();
1136 handle()->nodesToBrowse = detail::toNativeArray(nodesToBrowse);
1141 UAPP_GETTER(uint32_t, getRequestedMaxReferencesPerNode, requestedMaxReferencesPerNode)
1152 using TypeWrapper::TypeWrapper;
1169 using TypeWrapper::TypeWrapper;
1181 using TypeWrapper::TypeWrapper;
1186 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1195 using TypeWrapper::TypeWrapper;
1199 bool releaseContinuationPoints,
1202 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1203 handle()->releaseContinuationPoints = releaseContinuationPoints;
1204 handle()->continuationPointsSize = continuationPoints.
size();
1205 handle()->continuationPoints = detail::toNativeArray(continuationPoints);
1209 UAPP_GETTER(
bool, getReleaseContinuationPoints, releaseContinuationPoints)
1211 ByteString, getContinuationPoints, continuationPoints, continuationPointsSize
1220 using TypeWrapper::TypeWrapper;
1225 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1235 using TypeWrapper::TypeWrapper;
1240 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
1241 handle()->isInverse = isInverse;
1242 handle()->includeSubtypes = includeSubtypes;
1243 handle()->targetName = detail::toNative(std::move(targetName));
1257 using TypeWrapper::TypeWrapper;
1263 handle()->elementsSize = elements.
size();
1264 handle()->elements = detail::toNativeArray(elements);
1275 using TypeWrapper::TypeWrapper;
1278 handle()->startingNode = detail::toNative(std::move(startingNode));
1279 handle()->relativePath = detail::toNative(std::move(relativePath));
1291 using TypeWrapper::TypeWrapper;
1302 using TypeWrapper::TypeWrapper;
1314 UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST> {
1316 using TypeWrapper::TypeWrapper;
1321 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1322 handle()->browsePathsSize = browsePaths.
size();
1323 handle()->browsePaths = detail::toNativeArray(browsePaths);
1336 UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE> {
1338 using TypeWrapper::TypeWrapper;
1343 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1353 using TypeWrapper::TypeWrapper;
1356 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1357 handle()->nodesToRegisterSize = nodesToRegister.
size();
1358 handle()->nodesToRegister = detail::toNativeArray(nodesToRegister);
1371 using TypeWrapper::TypeWrapper;
1383 using TypeWrapper::TypeWrapper;
1386 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1387 handle()->nodesToUnregisterSize = nodesToUnregister.
size();
1388 handle()->nodesToUnregister = detail::toNativeArray(nodesToUnregister);
1401 using TypeWrapper::TypeWrapper;
1427 using TypeWrapper::TypeWrapper;
1432 std::string_view indexRange = {},
1435 handle()->nodeId = detail::toNative(std::move(nodeId));
1436 handle()->attributeId = detail::toNative(attributeId);
1437 handle()->indexRange = detail::toNative(indexRange);
1438 handle()->dataEncoding = detail::toNative(std::move(dataEncoding));
1453 using TypeWrapper::TypeWrapper;
1461 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1462 handle()->maxAge = maxAge;
1464 handle()->nodesToReadSize = nodesToRead.
size();
1465 handle()->nodesToRead = detail::toNativeArray(nodesToRead);
1480 using TypeWrapper::TypeWrapper;
1485 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1495 using TypeWrapper::TypeWrapper;
1500 handle()->nodeId = detail::toNative(std::move(nodeId));
1501 handle()->attributeId = detail::toNative(attributeId);
1502 handle()->indexRange = detail::toNative(indexRange);
1503 handle()->value = detail::toNative(std::move(value));
1518 using TypeWrapper::TypeWrapper;
1521 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1522 handle()->nodesToWriteSize = nodesToWrite.
size();
1523 handle()->nodesToWrite = detail::toNativeArray(nodesToWrite);
1536 using TypeWrapper::TypeWrapper;
1541 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1551 using TypeWrapper::TypeWrapper;
1554 std::string_view productUri,
1555 std::string_view manufacturerName,
1556 std::string_view productName,
1557 std::string_view softwareVersion,
1558 std::string_view buildNumber,
1561 handle()->productUri = detail::toNative(productUri);
1562 handle()->manufacturerName = detail::toNative(manufacturerName);
1563 handle()->productName = detail::toNative(productName);
1564 handle()->softwareVersion = detail::toNative(softwareVersion);
1565 handle()->buildNumber = detail::toNative(buildNumber);
1566 handle()->buildDate = detail::toNative(std::move(buildDate));
1579#ifdef UA_ENABLE_METHODCALLS
1587 using TypeWrapper::TypeWrapper;
1590 std::string_view name,
1596 handle()->name = detail::toNative(name);
1597 handle()->description = detail::toNative(std::move(description));
1598 handle()->dataType = detail::toNative(std::move(dataType));
1599 handle()->valueRank = detail::toNative(valueRank);
1600 handle()->arrayDimensionsSize = arrayDimensions.
size();
1601 handle()->arrayDimensions = detail::toNativeArray(arrayDimensions);
1617 using TypeWrapper::TypeWrapper;
1620 handle()->objectId = detail::toNative(std::move(objectId));
1621 handle()->methodId = detail::toNative(std::move(methodId));
1622 handle()->inputArgumentsSize = inputArguments.
size();
1623 handle()->inputArguments = detail::toNativeArray(inputArguments);
1637 using TypeWrapper::TypeWrapper;
1641 StatusCode, getInputArgumentResults, inputArgumentResults, inputArgumentResultsSize
1645 getInputArgumentDiagnosticInfos,
1646 inputArgumentDiagnosticInfos,
1647 inputArgumentDiagnosticInfosSize
1658 using TypeWrapper::TypeWrapper;
1661 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1662 handle()->methodsToCallSize = methodsToCall.
size();
1663 handle()->methodsToCall = detail::toNativeArray(methodsToCall);
1676 using TypeWrapper::TypeWrapper;
1681 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1689#ifdef UA_ENABLE_SUBSCRIPTIONS
1714 GreaterThanOrEqual = 4,
1715 LessThanOrEqual = 5,
1739 using TypeWrapper::TypeWrapper;
1742 handle()->index = index;
1754 template <
typename T>
1755 using EnableIfLiteral =
1756 std::enable_if_t<!detail::IsOneOf<T, Variant, UA_LiteralOperand, LiteralOperand>::value>;
1759 using TypeWrapper::TypeWrapper;
1762 handle()->value = detail::toNative(std::move(value));
1765 template <
typename T,
typename = EnableIfLiteral<T>>
1778 using TypeWrapper::TypeWrapper;
1782 std::string_view alias,
1785 std::string_view indexRange = {}
1787 handle()->nodeId = detail::toNative(std::move(nodeId));
1788 handle()->alias = detail::toNative(alias);
1789 handle()->browsePath = detail::toNative(std::move(browsePath));
1790 handle()->attributeId = detail::toNative(attributeId);
1791 handle()->indexRange = detail::toNative(indexRange);
1808 using TypeWrapper::TypeWrapper;
1814 std::string_view indexRange = {}
1816 handle()->typeDefinitionId = detail::toNative(std::move(typeDefinitionId));
1817 handle()->browsePathSize = browsePath.
size();
1818 handle()->browsePath = detail::toNativeArray(browsePath);
1819 handle()->attributeId = detail::toNative(attributeId);
1820 handle()->indexRange = detail::toNative(indexRange);
1861 using TypeWrapper::TypeWrapper;
1882 using TypeWrapper::TypeWrapper;
1925 StatusValueTimestamp = 2,
1947 using TypeWrapper::TypeWrapper;
1951 handle()->deadbandType = detail::toNative(deadbandType);
1952 handle()->deadbandValue = deadbandValue;
1966 using TypeWrapper::TypeWrapper;
1969 handle()->selectClausesSize = selectClauses.
size();
1970 handle()->selectClauses = detail::toNativeArray(selectClauses);
1971 handle()->whereClause = detail::toNative(std::move(whereClause));
1988 using TypeWrapper::TypeWrapper;
1993 double processingInterval,
1996 handle()->startTime = detail::toNative(std::move(startTime));
1997 handle()->aggregateType = detail::toNative(std::move(aggregateType));
1998 handle()->processingInterval = processingInterval;
1999 handle()->aggregateConfiguration = aggregateConfiguration;
2015 using TypeWrapper::TypeWrapper;
2022 double samplingInterval = 250.0,
2024 uint32_t queueSize = 1U,
2025 bool discardOldest = true
2027 handle()->samplingInterval = samplingInterval;
2028 handle()->filter = detail::toNative(std::move(filter));
2029 handle()->queueSize = queueSize;
2030 handle()->discardOldest = discardOldest;
2046 using TypeWrapper::TypeWrapper;
2053 handle()->itemToMonitor = detail::toNative(std::move(itemToMonitor));
2055 handle()->requestedParameters = detail::toNative(std::move(requestedParameters));
2070 using TypeWrapper::TypeWrapper;
2074 UAPP_GETTER(
double, getRevisedSamplingInterval, revisedSamplingInterval);
2084 :
public TypeWrapper<UA_CreateMonitoredItemsRequest, UA_TYPES_CREATEMONITOREDITEMSREQUEST> {
2086 using TypeWrapper::TypeWrapper;
2094 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2095 handle()->subscriptionId = subscriptionId;
2097 handle()->itemsToCreateSize = itemsToCreate.
size();
2098 handle()->itemsToCreate = detail::toNativeArray(itemsToCreate);
2116 using TypeWrapper::TypeWrapper;
2121 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2132 using TypeWrapper::TypeWrapper;
2137 handle()->monitoredItemId = monitoredItemId;
2138 handle()->requestedParameters = detail::toNative(std::move(requestedParameters));
2150 :
public TypeWrapper<UA_MonitoredItemModifyResult, UA_TYPES_MONITOREDITEMMODIFYRESULT> {
2152 using TypeWrapper::TypeWrapper;
2155 UAPP_GETTER(
double, getRevisedSamplingInterval, revisedSamplingInterval);
2165 :
public TypeWrapper<UA_ModifyMonitoredItemsRequest, UA_TYPES_MODIFYMONITOREDITEMSREQUEST> {
2167 using TypeWrapper::TypeWrapper;
2175 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2176 handle()->subscriptionId = subscriptionId;
2178 handle()->itemsToModifySize = itemsToModify.
size();
2179 handle()->itemsToModify = detail::toNativeArray(itemsToModify);
2197 using TypeWrapper::TypeWrapper;
2202 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2213 using TypeWrapper::TypeWrapper;
2221 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2222 handle()->subscriptionId = subscriptionId;
2224 handle()->monitoredItemIdsSize = monitoredItemIds.
size();
2225 handle()->monitoredItemIds = detail::toNativeArray(monitoredItemIds);
2241 using TypeWrapper::TypeWrapper;
2246 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2257 using TypeWrapper::TypeWrapper;
2266 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2267 handle()->subscriptionId = subscriptionId;
2268 handle()->triggeringItemId = triggeringItemId;
2269 handle()->linksToAddSize = linksToAdd.
size();
2270 handle()->linksToAdd = detail::toNativeArray(linksToAdd);
2271 handle()->linksToRemoveSize = linksToRemove.
size();
2272 handle()->linksToRemove = detail::toNativeArray(linksToRemove);
2289 using TypeWrapper::TypeWrapper;
2294 DiagnosticInfo, getAddDiagnosticInfos, addDiagnosticInfos, addDiagnosticInfosSize
2298 DiagnosticInfo, getRemoveDiagnosticInfos, removeDiagnosticInfos, removeDiagnosticInfosSize
2309 using TypeWrapper::TypeWrapper;
2316 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2317 handle()->subscriptionId = subscriptionId;
2318 handle()->monitoredItemIdsSize = monitoredItemIds.
size();
2319 handle()->monitoredItemIds = detail::toNativeArray(monitoredItemIds);
2334 using TypeWrapper::TypeWrapper;
2339 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2350 using TypeWrapper::TypeWrapper;
2354 double requestedPublishingInterval,
2355 uint32_t requestedLifetimeCount,
2356 uint32_t requestedMaxKeepAliveCount,
2357 uint32_t maxNotificationsPerPublish,
2358 bool publishingEnabled,
2361 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2362 handle()->requestedPublishingInterval = requestedPublishingInterval;
2363 handle()->requestedLifetimeCount = requestedLifetimeCount;
2364 handle()->requestedMaxKeepAliveCount = requestedMaxKeepAliveCount;
2365 handle()->maxNotificationsPerPublish = maxNotificationsPerPublish;
2366 handle()->publishingEnabled = publishingEnabled;
2367 handle()->priority = priority;
2371 UAPP_GETTER(
double, getRequestedPublishingInterval, requestedPublishingInterval)
2372 UAPP_GETTER(uint32_t, getRequestedLifetimeCount, requestedLifetimeCount)
2373 UAPP_GETTER(uint32_t, getRequestedMaxKeepAliveCount, requestedMaxKeepAliveCount)
2374 UAPP_GETTER(uint32_t, getMaxNotificationsPerPublish, maxNotificationsPerPublish)
2386 using TypeWrapper::TypeWrapper;
2390 UAPP_GETTER(
bool, getRevisedPublishingInterval, revisedPublishingInterval)
2392 UAPP_GETTER(uint32_t, getRevisedMaxKeepAliveCount, revisedMaxKeepAliveCount)
2402 using TypeWrapper::TypeWrapper;
2407 double requestedPublishingInterval,
2408 uint32_t requestedLifetimeCount,
2409 uint32_t requestedMaxKeepAliveCount,
2410 uint32_t maxNotificationsPerPublish,
2413 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2414 handle()->subscriptionId = subscriptionId;
2415 handle()->requestedPublishingInterval = requestedPublishingInterval;
2416 handle()->requestedLifetimeCount = requestedLifetimeCount;
2417 handle()->requestedMaxKeepAliveCount = requestedMaxKeepAliveCount;
2418 handle()->maxNotificationsPerPublish = maxNotificationsPerPublish;
2419 handle()->priority = priority;
2424 UAPP_GETTER(
double, getRequestedPublishingInterval, requestedPublishingInterval)
2425 UAPP_GETTER(uint32_t, getRequestedLifetimeCount, requestedLifetimeCount)
2426 UAPP_GETTER(uint32_t, getRequestedMaxKeepAliveCount, requestedMaxKeepAliveCount)
2427 UAPP_GETTER(uint32_t, getMaxNotificationsPerPublish, maxNotificationsPerPublish)
2438 using TypeWrapper::TypeWrapper;
2441 UAPP_GETTER(
bool, getRevisedPublishingInterval, revisedPublishingInterval)
2443 UAPP_GETTER(uint32_t, getRevisedMaxKeepAliveCount, revisedMaxKeepAliveCount)
2453 using TypeWrapper::TypeWrapper;
2458 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2459 handle()->publishingEnabled = publishingEnabled;
2460 handle()->subscriptionIdsSize = subscriptionIds.
size();
2461 handle()->subscriptionIds = detail::toNativeArray(subscriptionIds);
2476 using TypeWrapper::TypeWrapper;
2481 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2492 using TypeWrapper::TypeWrapper;
2505 using TypeWrapper::TypeWrapper;
2508 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2509 handle()->subscriptionIdsSize = subscriptionIds.
size();
2510 handle()->subscriptionIds = detail::toNativeArray(subscriptionIds);
2524 using TypeWrapper::TypeWrapper;
2529 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2553#if UAPP_HAS_DATAACCESS
2561 using TypeWrapper::TypeWrapper;
2563 Range(
double low,
double high)
noexcept {
2564 handle()->low = low;
2565 handle()->high = high;
2578 using TypeWrapper::TypeWrapper;
2581 std::string_view namespaceUri,
2586 handle()->namespaceUri = detail::toNative(namespaceUri);
2587 handle()->unitId = unitId;
2588 handle()->displayName = detail::toNative(std::move(displayName));
2589 handle()->description = detail::toNative(std::move(description));
2604 using TypeWrapper::TypeWrapper;
2607 handle()->real = real;
2608 handle()->imaginary = imaginary;
2622 using TypeWrapper::TypeWrapper;
2625 handle()->real = real;
2626 handle()->imaginary = imaginary;
2649 using TypeWrapper::TypeWrapper;
2658 handle()->engineeringUnits = detail::toNative(std::move(engineeringUnits));
2659 handle()->eURange = detail::toNative(std::move(eURange));
2660 handle()->title = detail::toNative(std::move(title));
2662 handle()->axisStepsSize = axisSteps.
size();
2663 handle()->axisSteps = detail::toNativeArray(axisSteps);
2679 using TypeWrapper::TypeWrapper;
2683 handle()->value = value;
2694#ifdef UA_ENABLE_TYPEDESCRIPTION
2703 StructureWithOptionalFields = 1,
2714 using TypeWrapper::TypeWrapper;
2732 using TypeWrapper::TypeWrapper;
2746 using TypeWrapper::TypeWrapper;
2749 :
EnumField(value, {
"", name}, {}, name) {}
2754 handle()->value = value;
2755 handle()->displayName = detail::toNative(std::move(displayName));
2756 handle()->description = detail::toNative(std::move(description));
2757 handle()->name = detail::toNative(name);
2772 using TypeWrapper::TypeWrapper;
2778 handle()->fieldsSize = fields.
size();
2779 handle()->fields = detail::toNativeArray(fields);
Bitmask using (scoped) enums.
UA_ByteString wrapper class.
UA_DataType wrapper class.
UA_DataValue wrapper class.
UA_DateTime wrapper class.
UA_DiagnosticInfo wrapper class.
UA_ExpandedNodeId wrapper class.
UA_ExtensionObject wrapper class.
UA_LocalizedText wrapper class.
UA_QualifiedName wrapper class.
View to a contiguous sequence of objects, similar to std::span in C++20.
constexpr size_t size() const noexcept
UA_StatusCode wrapper class.
Template base class to wrap UA_* type objects that require manual memory management.
constexpr TypeWrapper() noexcept=default
UA_Variant wrapper class.
constexpr T * handle() noexcept
Return pointer to native object.
UA_AddNodesItem wrapper class.
AddNodesItem(ExpandedNodeId parentNodeId, NodeId referenceTypeId, ExpandedNodeId requestedNewNodeId, QualifiedName browseName, NodeClass nodeClass, ExtensionObject nodeAttributes, ExpandedNodeId typeDefinition)
UA_AddNodesRequest wrapper class.
AddNodesRequest(RequestHeader requestHeader, Span< const AddNodesItem > nodesToAdd)
UA_AddNodesResponse wrapper class.
UA_AddNodesResult wrapper class.
UA_AddReferencesItem wrapper class.
AddReferencesItem(NodeId sourceNodeId, NodeId referenceTypeId, bool isForward, std::string_view targetServerUri, ExpandedNodeId targetNodeId, NodeClass targetNodeClass)
UA_AddReferencesRequest wrapper class.
AddReferencesRequest(RequestHeader requestHeader, Span< const AddReferencesItem > referencesToAdd)
UA_AddReferencesResponse wrapper class.
UA_AggregateFilter wrapper class.
AggregateFilter(DateTime startTime, NodeId aggregateType, double processingInterval, AggregateConfiguration aggregateConfiguration)
UA_AnonymousIdentityToken wrapper class.
UA_ApplicationDescription wrapper class.
ApplicationDescription(std::string_view applicationUri, std::string_view productUri, LocalizedText applicationName, ApplicationType applicationType, std::string_view gatewayServerUri, std::string_view discoveryProfileUri, Span< const String > discoveryUrls)
UA_Argument wrapper class.
Argument(std::string_view name, LocalizedText description, NodeId dataType, ValueRank valueRank={}, Span< const uint32_t > arrayDimensions={})
UA_AttributeOperand wrapper class.
AttributeOperand(NodeId nodeId, std::string_view alias, RelativePath browsePath, AttributeId attributeId, std::string_view indexRange={})
UA_BrowseDescription wrapper class.
BrowseDescription(NodeId nodeId, BrowseDirection browseDirection, NodeId referenceTypeId=ReferenceTypeId::References, bool includeSubtypes=true, Bitmask< NodeClass > nodeClassMask=NodeClass::Unspecified, Bitmask< BrowseResultMask > resultMask=BrowseResultMask::All)
UA_BrowseNextRequest wrapper class.
BrowseNextRequest(RequestHeader requestHeader, bool releaseContinuationPoints, Span< const ByteString > continuationPoints)
UA_BrowseNextResponse wrapper class.
UA_BrowsePathResult wrapper class.
UA_BrowsePathTarget wrapper class.
UA_BrowsePath wrapper class.
BrowsePath(NodeId startingNode, RelativePath relativePath)
UA_BrowseRequest wrapper class.
BrowseRequest(RequestHeader requestHeader, ViewDescription view, uint32_t requestedMaxReferencesPerNode, Span< const BrowseDescription > nodesToBrowse)
UA_BrowseResponse wrapper class.
UA_BrowseResult wrapper class.
UA_BuildInfo wrapper class.
BuildInfo(std::string_view productUri, std::string_view manufacturerName, std::string_view productName, std::string_view softwareVersion, std::string_view buildNumber, DateTime buildDate)
UA_CallMethodRequest wrapper class.
CallMethodRequest(NodeId objectId, NodeId methodId, Span< const Variant > inputArguments)
UA_CallMethodResult wrapper class.
UA_CallRequest wrapper class.
CallRequest(RequestHeader requestHeader, Span< const CallMethodRequest > methodsToCall)
UA_CallResponse wrapper class.
UA_ComplexNumberType wrapper class.
ComplexNumberType(float real, float imaginary) noexcept
UA_ContentFilterElement wrapper class.
ContentFilterElement(FilterOperator filterOperator, Span< const FilterOperand > operands)
UA_ContentFilter wrapper class.
ContentFilter(std::initializer_list< ContentFilterElement > elements)
ContentFilter(Span< const ContentFilterElement > elements)
UA_CreateMonitoredItemsRequest wrapper class.
CreateMonitoredItemsRequest(RequestHeader requestHeader, IntegerId subscriptionId, TimestampsToReturn timestampsToReturn, Span< const MonitoredItemCreateRequest > itemsToCreate)
UA_CreateMonitoredItemsResponse wrapper class.
UA_CreateSubscriptionRequest wrapper class.
CreateSubscriptionRequest(RequestHeader requestHeader, double requestedPublishingInterval, uint32_t requestedLifetimeCount, uint32_t requestedMaxKeepAliveCount, uint32_t maxNotificationsPerPublish, bool publishingEnabled, uint8_t priority)
UA_CreateSubscriptionResponse wrapper class.
UA_DataChangeFilter wrapper class.
DataChangeFilter(DataChangeTrigger trigger, DeadbandType deadbandType, double deadbandValue)
UA_DataTypeAttributes wrapper class.
DataTypeAttributes()
Construct with default attribute definitions.
UA_DeleteMonitoredItemsRequest wrapper class.
DeleteMonitoredItemsRequest(RequestHeader requestHeader, IntegerId subscriptionId, Span< const IntegerId > monitoredItemIds)
UA_DeleteMonitoredItemsResponse wrapper class.
UA_DeleteNodesItem wrapper class.
DeleteNodesItem(NodeId nodeId, bool deleteTargetReferences)
UA_DeleteNodesRequest wrapper class.
DeleteNodesRequest(RequestHeader requestHeader, Span< const DeleteNodesItem > nodesToDelete)
UA_DeleteNodesResponse wrapper class.
UA_DeleteReferencesItem wrapper class.
DeleteReferencesItem(NodeId sourceNodeId, NodeId referenceTypeId, bool isForward, ExpandedNodeId targetNodeId, bool deleteBidirectional)
UA_DeleteReferencesRequest wrapper class.
DeleteReferencesRequest(RequestHeader requestHeader, Span< const DeleteReferencesItem > referencesToDelete)
UA_DeleteReferencesResponse wrapper class.
UA_DeleteSubscriptionsRequest wrapper class.
DeleteSubscriptionsRequest(RequestHeader requestHeader, Span< const IntegerId > subscriptionIds)
UA_DeleteSubscriptionsResponse wrapper class.
UA_DoubleComplexNumberType wrapper class.
DoubleComplexNumberType(double real, double imaginary) noexcept
UA_ElementOperand wrapper class.
ElementOperand(uint32_t index)
UA_EndpointDescription wrapper class.
UA_EnumDefinition wrapper class.
EnumDefinition(std::initializer_list< EnumField > fields)
EnumDefinition(Span< const EnumField > fields)
UA_EnumField wrapper class.
EnumField(int64_t value, LocalizedText displayName, LocalizedText description, std::string_view name)
EnumField(int64_t value, std::string_view name)
UA_EnumValueType wrapper class.
EnumValueType(int64_t value, LocalizedText displayName, LocalizedText description)
const LocalizedText & description() const noexcept
const LocalizedText & getDescription() const noexcept
const LocalizedText & displayName() const noexcept
const LocalizedText & getDisplayName() const noexcept
int64_t value() const noexcept
int64_t getValue() const noexcept
UA_EventFilter wrapper class.
EventFilter(Span< const SimpleAttributeOperand > selectClauses, ContentFilter whereClause)
UA_IssuedIdentityToken wrapper class.
IssuedIdentityToken(ByteString tokenData, std::string_view encryptionAlgorithm={})
UA_LiteralOperand wrapper class.
LiteralOperand(T &&literal)
LiteralOperand(Variant value)
UA_MethodAttributes wrapper class.
MethodAttributes()
Construct with default attribute definitions.
UA_ModifyMonitoredItemsRequest wrapper class.
ModifyMonitoredItemsRequest(RequestHeader requestHeader, IntegerId subscriptionId, TimestampsToReturn timestampsToReturn, Span< const MonitoredItemModifyRequest > itemsToModify)
UA_CreateMonitoredItemsResponse wrapper class.
UA_ModifySubscriptionRequest wrapper class.
ModifySubscriptionRequest(RequestHeader requestHeader, IntegerId subscriptionId, double requestedPublishingInterval, uint32_t requestedLifetimeCount, uint32_t requestedMaxKeepAliveCount, uint32_t maxNotificationsPerPublish, uint8_t priority)
UA_ModifySubscriptionResponse wrapper class.
UA_MonitoredItemCreateRequest wrapper class.
MonitoredItemCreateRequest(ReadValueId itemToMonitor, MonitoringMode monitoringMode=MonitoringMode::Reporting, MonitoringParameters requestedParameters={})
UA_MonitoredItemCreateResult wrapper class.
UA_MonitoredItemModifyRequest wrapper class.
MonitoredItemModifyRequest(IntegerId monitoredItemId, MonitoringParameters requestedParameters)
UA_MonitoredItemModifyResult wrapper class.
UA_MonitoringParameters wrapper class.
MonitoringParameters(double samplingInterval=250.0, ExtensionObject filter={}, uint32_t queueSize=1U, bool discardOldest=true)
Construct with default values from open62541.
UA_NodeAttributes wrapper class.
UA_ObjectAttributes wrapper class.
ObjectAttributes()
Construct with default attribute definitions.
UA_ObjectTypeAttributes wrapper class.
ObjectTypeAttributes()
Construct with default attribute definitions.
Range(double low, double high) noexcept
UA_ReadRequest wrapper class.
ReadRequest(RequestHeader requestHeader, double maxAge, TimestampsToReturn timestampsToReturn, Span< const ReadValueId > nodesToRead)
UA_ReadResponse wrapper class.
UA_ReadValueId wrapper class.
ReadValueId(NodeId nodeId, AttributeId attributeId, std::string_view indexRange={}, QualifiedName dataEncoding={})
UA_ReferenceDescription wrapper class.
UA_ReferenceTypeAttributes wrapper class.
ReferenceTypeAttributes()
Construct with default attribute definitions.
UA_RegisterNodesRequest wrapper class.
RegisterNodesRequest(RequestHeader requestHeader, Span< const NodeId > nodesToRegister)
UA_RegisterNodesResponse wrapper class.
UA_RelativePathElement wrapper class.
RelativePathElement(NodeId referenceTypeId, bool isInverse, bool includeSubtypes, QualifiedName targetName)
UA_RelativePath wrapper class.
RelativePath(Span< const RelativePathElement > elements)
RelativePath(std::initializer_list< RelativePathElement > elements)
UA_SetMonitoringModeRequest wrapper class.
SetMonitoringModeRequest(RequestHeader requestHeader, IntegerId subscriptionId, MonitoringMode monitoringMode, Span< const IntegerId > monitoredItemIds)
UA_SetMonitoringModeResponse wrapper class.
UA_SetPublishingModeRequest wrapper class.
SetPublishingModeRequest(RequestHeader requestHeader, bool publishingEnabled, Span< const IntegerId > subscriptionIds)
UA_SetPublishingModeResponse wrapper class.
UA_SetTriggeringRequest wrapper class.
SetTriggeringRequest(RequestHeader requestHeader, IntegerId subscriptionId, IntegerId triggeringItemId, Span< const IntegerId > linksToAdd, Span< const IntegerId > linksToRemove)
UA_SetTriggeringResponse wrapper class.
UA_SimpleAttributeOperand wrapper class.
SimpleAttributeOperand(NodeId typeDefinitionId, Span< const QualifiedName > browsePath, AttributeId attributeId, std::string_view indexRange={})
UA_StatusChangeNotification wrapper class.
UA_StructureDefinition wrapper class.
UA_StructureField wrapper class.
UA_TranslateBrowsePathsToNodeIdsRequest wrapper class.
TranslateBrowsePathsToNodeIdsRequest(RequestHeader requestHeader, Span< const BrowsePath > browsePaths)
UA_TranslateBrowsePathsToNodeIdsResponse wrapper class.
UA_UnregisterNodesRequest wrapper class.
UnregisterNodesRequest(RequestHeader requestHeader, Span< const NodeId > nodesToUnregister)
UA_UnregisterNodesResponse wrapper class.
UA_UserIdentityToken wrapper class.
UA_UserNameIdentityToken wrapper class.
UserNameIdentityToken(std::string_view userName, std::string_view password, std::string_view encryptionAlgorithm={})
UA_UserTokenPolicy wrapper class.
UserTokenPolicy(std::string_view policyId, UserTokenType tokenType, std::string_view issuedTokenType, std::string_view issuerEndpointUrl, std::string_view securityPolicyUri)
UA_VariableAttributes wrapper class.
auto & setValueArray(Args &&... args)
auto & setDataType()
This is an overloaded member function, provided for convenience. It differs from the above function o...
auto & setValueScalar(Args &&... args)
VariableAttributes()
Construct with default attribute definitions.
UA_VariableAttributes wrapper class.
VariableTypeAttributes()
Construct with default attribute definitions.
auto & setValueArray(Args &&... args)
auto & setDataType()
This is an overloaded member function, provided for convenience. It differs from the above function o...
auto & setValueScalar(Args &&... args)
UA_ViewAttributes wrapper class.
ViewAttributes()
Construct with default attribute definitions.
UA_ViewDescription wrapper class.
ViewDescription(NodeId viewId, DateTime timestamp, uint32_t viewVersion)
UA_WriteRequest wrapper class.
WriteRequest(RequestHeader requestHeader, Span< const WriteValue > nodesToWrite)
UA_WriteResponse wrapper class.
UA_WriteValue wrapper class.
WriteValue(NodeId nodeId, AttributeId attributeId, std::string_view indexRange, DataValue value)
UA_X509IdentityToken wrapper class.
X509IdentityToken(ByteString certificateData)
XVType(double x, float value) noexcept
UA_EXPORT const UA_ObjectTypeAttributes UA_ObjectTypeAttributes_default
UA_EXPORT const UA_VariableAttributes UA_VariableAttributes_default
UA_EXPORT const UA_DataTypeAttributes UA_DataTypeAttributes_default
UA_EXPORT const UA_ViewAttributes UA_ViewAttributes_default
UA_EXPORT const UA_VariableTypeAttributes UA_VariableTypeAttributes_default
UA_EXPORT const UA_MethodAttributes UA_MethodAttributes_default
UA_EXPORT const UA_ReferenceTypeAttributes UA_ReferenceTypeAttributes_default
UA_EXPORT const UA_ObjectAttributes UA_ObjectAttributes_default
constexpr std::false_type isBitmaskEnum(T)
Function template to define an enum (class) as a bitmask and allow bitwise operations.
ReferenceTypeId
ReferenceType node ids defined by the OPC UA specification (generated).
BrowseResultMask
Browse result mask.
DeadbandType
Deadband type.
#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag)
ContentFilter operator!(const ContentFilterElement &filterElement)
std::variant< ElementOperand, LiteralOperand, AttributeOperand, SimpleAttributeOperand, ExtensionObject > FilterOperand
Filter operand.
ContentFilter operator||(const ContentFilter &lhs, const ContentFilterElement &rhs)
UserTokenType
User identity token type.
PerformUpdateType
Perform update type for structured data history updates.
DataChangeTrigger
Data change trigger.
ContentFilter operator!(const ContentFilter &filter)
StructureType
Structure type.
AxisScaleEnumeration
Axis scale.
ContentFilter operator&&(const ContentFilterElement &lhs, const ContentFilterElement &rhs)
ApplicationType
Application type.
MonitoringMode
Monitoring mode.
ContentFilter operator||(const ContentFilterElement &lhs, const ContentFilter &rhs)
#define UAPP_NODEATTR_BITMASK(Type, suffix, member, flag)
MessageSecurityMode
Message security mode.
BrowseDirection
Browse direction.
ContentFilter operator||(const ContentFilter &lhs, const ContentFilter &rhs)
ContentFilter operator&&(const ContentFilter &lhs, const ContentFilterElement &rhs)
TimestampsToReturn
Timestamps to return.
ContentFilter operator&&(const ContentFilterElement &lhs, const ContentFilter &rhs)
NodeAttributesMask
Node attributes mask.
ContentFilter operator||(const ContentFilterElement &lhs, const ContentFilterElement &rhs)
#define UAPP_NODEATTR_ARRAY(Type, suffix, member, memberSize, flag)
FilterOperator
Filter operator.
#define UAPP_NODEATTR_CAST(Type, suffix, member, flag)
#define UAPP_NODEATTR(Type, suffix, member, flag)
ContentFilter operator&&(const ContentFilter &lhs, const ContentFilter &rhs)
#define UAPP_NODEATTR_COMMON
static UA_LogCategory const char va_list args
uint32_t IntegerId
IntegerId.
EventNotifier
Event notifier.
AttributeId
Attribute identifiers.
@ MinimumSamplingInterval
If a reference is symmetric
UA_BROWSERESULTMASK_REFERENCETYPEID
UA_BROWSERESULTMASK_DISPLAYNAME
UA_BROWSERESULTMASK_ISFORWARD
UA_BROWSERESULTMASK_REFERENCETYPEINFO
UA_BROWSERESULTMASK_TYPEDEFINITION
UA_BROWSERESULTMASK_BROWSENAME
UA_BROWSERESULTMASK_TARGETINFO
UA_BROWSERESULTMASK_NODECLASS
UA_EXPORT const UA_ObjectTypeAttributes UA_ObjectTypeAttributes_default
#define UAPP_GETTER_SPAN(Type, getterName, memberArray, memberSize)
UA_EXPORT const UA_VariableAttributes UA_VariableAttributes_default
UA_EXPORT const UA_DataTypeAttributes UA_DataTypeAttributes_default
UA_EXPORT const UA_ViewAttributes UA_ViewAttributes_default
#define UAPP_GETTER_WRAPPER(Type, getterName, member)
#define UAPP_GETTER_CAST(Type, getterName, member)
#define UAPP_GETTER_SPAN_WRAPPER(Type, getterName, memberArray, memberSize)
#define UAPP_GETTER(Type, getterName, member)
UA_EXPORT const UA_VariableTypeAttributes UA_VariableTypeAttributes_default
UA_EXPORT const UA_MethodAttributes UA_MethodAttributes_default
UA_EXPORT const UA_ReferenceTypeAttributes UA_ReferenceTypeAttributes_default
UA_EXPORT const UA_ObjectAttributes UA_ObjectAttributes_default