4#include <initializer_list>
12#include "open62541pp/config.hpp"
23#ifndef UA_DEFAULT_ATTRIBUTES_DEFINED
24#define UA_DEFAULT_ATTRIBUTES_DEFINED
38#define UAPP_GETTER(Type, getterName, member) \
39 Type getterName() const noexcept { \
40 return handle()->member; \
42#define UAPP_GETTER_CAST(Type, getterName, member) \
43 Type getterName() const noexcept { \
44 return static_cast<Type>(handle()->member); \
47#define UAPP_GETTER_WRAPPER_CONST(Type, getterName, member) \
48 const Type& getterName() const noexcept { \
49 return asWrapper<Type>(handle()->member); \
51#define UAPP_GETTER_WRAPPER_NONCONST(Type, getterName, member) \
52 Type& getterName() noexcept { \
53 return asWrapper<Type>(handle()->member); \
55#define UAPP_GETTER_WRAPPER(Type, getterName, member) \
56 UAPP_GETTER_WRAPPER_CONST(Type, getterName, member) \
57 UAPP_GETTER_WRAPPER_NONCONST(Type, getterName, member)
59#define UAPP_GETTER_SPAN(Type, getterName, memberArray, memberSize) \
60 Span<const Type> getterName() const noexcept { \
61 return {handle()->memberArray, handle()->memberSize}; \
63 Span<Type> getterName() noexcept { \
64 return {handle()->memberArray, handle()->memberSize}; \
66#define UAPP_GETTER_SPAN_WRAPPER(Type, getterName, memberArray, memberSize) \
67 Span<const Type> getterName() const noexcept { \
68 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
70 Span<Type> getterName() noexcept { \
71 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
129 NodeId authenticationToken,
131 uint32_t requestHandle,
132 uint32_t returnDiagnostics,
133 std::string_view auditEntryId,
134 uint32_t timeoutHint,
138 handle()->timestamp = timestamp;
139 handle()->requestHandle = requestHandle;
140 handle()->returnDiagnostics = returnDiagnostics;
142 handle()->timeoutHint = timeoutHint;
190 using TypeWrapper::TypeWrapper;
193 std::string_view policyId,
195 std::string_view issuedTokenType,
196 std::string_view issuerEndpointUrl,
197 std::string_view securityPolicyUri
199 handle()->policyId = detail::toNative(policyId);
201 handle()->issuedTokenType = detail::toNative(issuedTokenType);
202 handle()->issuerEndpointUrl = detail::toNative(issuerEndpointUrl);
203 handle()->securityPolicyUri = detail::toNative(securityPolicyUri);
220 using TypeWrapper::TypeWrapper;
228 UserTokenPolicy, getUserIdentityTokens, userIdentityTokens, userIdentityTokensSize
289#define UAPP_NODEATTR(Type, suffix, member, flag) \
290 UAPP_GETTER(Type, get##suffix, member) \
291 auto& set##suffix(Type member) noexcept { \
292 handle()->specifiedAttributes |= flag; \
293 handle()->member = member; \
296#define UAPP_NODEATTR_BITMASK(Type, suffix, member, flag) \
297 UAPP_GETTER(Type, get##suffix, member) \
298 auto& set##suffix(Type member) noexcept { \
299 handle()->specifiedAttributes |= flag; \
300 handle()->member = member.get(); \
303#define UAPP_NODEATTR_CAST(Type, suffix, member, flag) \
304 UAPP_GETTER_CAST(Type, get##suffix, member) \
305 auto& set##suffix(Type member) noexcept { \
306 handle()->specifiedAttributes |= flag; \
307 handle()->member = static_cast<decltype(handle()->member)>(member); \
310#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag) \
311 UAPP_GETTER_WRAPPER_CONST(Type, get##suffix, member) \
312 auto& set##suffix(const Type& member) { \
313 handle()->specifiedAttributes |= flag; \
314 asWrapper<Type>(handle()->member) = member; \
317#define UAPP_NODEATTR_ARRAY(Type, suffix, member, memberSize, flag) \
318 UAPP_GETTER_SPAN(Type, get##suffix, member, memberSize) \
319 auto& set##suffix(Span<const Type> member) { \
320 const auto& dataType = opcua::getDataType<Type>(); \
321 handle()->specifiedAttributes |= flag; \
322 detail::deallocateArray(handle()->member, handle()->memberSize, dataType); \
323 handle()->member = detail::copyArray(member.data(), member.size(), dataType); \
324 handle()->memberSize = member.size(); \
327#define UAPP_NODEATTR_COMMON \
328 UAPP_GETTER(Bitmask<NodeAttributesMask>, getSpecifiedAttributes, specifiedAttributes) \
329 UAPP_NODEATTR_WRAPPER( \
330 LocalizedText, DisplayName, displayName, UA_NODEATTRIBUTESMASK_DISPLAYNAME \
332 UAPP_NODEATTR_WRAPPER( \
333 LocalizedText, Description, description, UA_NODEATTRIBUTESMASK_DESCRIPTION \
335 UAPP_NODEATTR_BITMASK( \
336 Bitmask<WriteMask>, WriteMask, writeMask, UA_NODEATTRIBUTESMASK_WRITEMASK \
338 UAPP_NODEATTR_BITMASK( \
339 Bitmask<WriteMask>, UserWriteMask, userWriteMask, UA_NODEATTRIBUTESMASK_USERWRITEMASK \
350 using TypeWrapper::TypeWrapper;
361 using TypeWrapper::TypeWrapper;
379 using TypeWrapper::TypeWrapper;
389 template <
typename... Args>
391 return setValue(Variant::fromScalar(std::forward<Args>(
args)...));
395 template <
typename... Args>
397 return setValue(Variant::fromArray(std::forward<Args>(
args)...));
404 template <
typename T>
415 UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS
424 UA_NODEATTRIBUTESMASK_USERACCESSLEVEL
428 MinimumSamplingInterval,
429 minimumSamplingInterval,
430 UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL
432 UAPP_NODEATTR(
bool, Historizing, historizing, UA_NODEATTRIBUTESMASK_HISTORIZING)
441 using TypeWrapper::TypeWrapper;
448 UAPP_NODEATTR(
bool, Executable, executable, UA_NODEATTRIBUTESMASK_EXECUTABLE)
449 UAPP_NODEATTR(
bool, UserExecutable, userExecutable, UA_NODEATTRIBUTESMASK_USEREXECUTABLE)
459 using TypeWrapper::TypeWrapper;
466 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
474 :
public TypeWrapper<UA_VariableTypeAttributes, UA_TYPES_VARIABLETYPEATTRIBUTES> {
476 using TypeWrapper::TypeWrapper;
486 template <
typename... Args>
488 return setValue(Variant::fromScalar(std::forward<Args>(
args)...));
492 template <
typename... Args>
494 return setValue(Variant::fromArray(std::forward<Args>(
args)...));
501 template <
typename T>
512 UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS
514 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
524 using TypeWrapper::TypeWrapper;
531 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
534 LocalizedText, InverseName, inverseName, UA_NODEATTRIBUTESMASK_INVERSENAME
544 using TypeWrapper::TypeWrapper;
551 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
560 using TypeWrapper::TypeWrapper;
567 UAPP_NODEATTR(
bool, IsAbstract, containsNoLoops, UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS)
574#undef UAPP_NODEATTR_WRAPPER
575#undef UAPP_NODEATTR_ARRAY
576#undef UAPP_NODEATTR_COMMON
586 using TypeWrapper::TypeWrapper;
596 :
public TypeWrapper<UA_AnonymousIdentityToken, UA_TYPES_ANONYMOUSIDENTITYTOKEN> {
598 using TypeWrapper::TypeWrapper;
608 :
public TypeWrapper<UA_UserNameIdentityToken, UA_TYPES_USERNAMEIDENTITYTOKEN> {
610 using TypeWrapper::TypeWrapper;
613 std::string_view userName,
614 std::string_view password,
615 std::string_view encryptionAlgorithm = {}
617 handle()->userName = detail::toNative(userName);
618 handle()->password = detail::toNative(password);
619 handle()->encryptionAlgorithm = detail::toNative(encryptionAlgorithm);
634 using TypeWrapper::TypeWrapper;
637 handle()->certificateData = detail::toNative(std::move(certificateData));
651 using TypeWrapper::TypeWrapper;
654 handle()->tokenData = detail::toNative(std::move(tokenData));
655 handle()->encryptionAlgorithm = detail::toNative(encryptionAlgorithm);
669 using TypeWrapper::TypeWrapper;
680 handle()->parentNodeId = detail::toNative(std::move(parentNodeId));
681 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
682 handle()->requestedNewNodeId = detail::toNative(std::move(requestedNewNodeId));
683 handle()->browseName = detail::toNative(std::move(browseName));
684 handle()->nodeClass =
static_cast<UA_NodeClass>(nodeClass);
685 handle()->nodeAttributes = detail::toNative(std::move(nodeAttributes));
686 handle()->typeDefinition = detail::toNative(std::move(typeDefinition));
704 using TypeWrapper::TypeWrapper;
716 using TypeWrapper::TypeWrapper;
719 handle()->requestHeader = detail::toNative(std::move(requestHeader));
720 handle()->nodesToAddSize = nodesToAdd.
size();
721 handle()->nodesToAdd = detail::toNativeArray(nodesToAdd);
734 using TypeWrapper::TypeWrapper;
739 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
749 using TypeWrapper::TypeWrapper;
755 std::string_view targetServerUri,
759 handle()->sourceNodeId = detail::toNative(std::move(sourceNodeId));
760 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
761 handle()->isForward = isForward;
762 handle()->targetServerUri = detail::toNative(targetServerUri);
763 handle()->targetNodeId = detail::toNative(std::move(targetNodeId));
764 handle()->targetNodeClass =
static_cast<UA_NodeClass>(targetNodeClass);
782 using TypeWrapper::TypeWrapper;
787 handle()->requestHeader = detail::toNative(std::move(requestHeader));
788 handle()->referencesToAddSize = referencesToAdd.
size();
789 handle()->referencesToAdd = detail::toNativeArray(referencesToAdd);
803 :
public TypeWrapper<UA_AddReferencesResponse, UA_TYPES_ADDREFERENCESRESPONSE> {
805 using TypeWrapper::TypeWrapper;
810 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
820 using TypeWrapper::TypeWrapper;
823 handle()->nodeId = detail::toNative(std::move(nodeId));
824 handle()->deleteTargetReferences = deleteTargetReferences;
828 UAPP_GETTER(
bool, getDeleteTargetReferences, deleteTargetReferences)
837 using TypeWrapper::TypeWrapper;
840 handle()->requestHeader = detail::toNative(std::move(requestHeader));
841 handle()->nodesToDeleteSize = nodesToDelete.
size();
842 handle()->nodesToDelete = detail::toNativeArray(nodesToDelete);
856 using TypeWrapper::TypeWrapper;
861 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
872 using TypeWrapper::TypeWrapper;
879 bool deleteBidirectional
881 handle()->sourceNodeId = detail::toNative(std::move(sourceNodeId));
882 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
883 handle()->isForward = isForward;
884 handle()->targetNodeId = detail::toNative(std::move(targetNodeId));
885 handle()->deleteBidirectional = deleteBidirectional;
902 using TypeWrapper::TypeWrapper;
907 handle()->requestHeader = detail::toNative(std::move(requestHeader));
908 handle()->referencesToDeleteSize = referencesToDelete.
size();
909 handle()->referencesToDelete = detail::toNativeArray(referencesToDelete);
923 :
public TypeWrapper<UA_DeleteReferencesResponse, UA_TYPES_DELETEREFERENCESRESPONSE> {
925 using TypeWrapper::TypeWrapper;
930 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
939 using TypeWrapper::TypeWrapper;
942 handle()->viewId = detail::toNative(std::move(viewId));
943 handle()->timestamp = timestamp;
944 handle()->viewVersion = viewVersion;
987 using TypeWrapper::TypeWrapper;
992 NodeId referenceTypeId = ReferenceTypeId::References,
993 bool includeSubtypes =
true,
997 handle()->nodeId = detail::toNative(std::move(nodeId));
999 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
1000 handle()->includeSubtypes = includeSubtypes;
1001 handle()->nodeClassMask = nodeClassMask.get();
1002 handle()->resultMask = resultMask.get();
1018 using TypeWrapper::TypeWrapper;
1023 uint32_t requestedMaxReferencesPerNode,
1026 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1027 handle()->view = detail::toNative(std::move(view));
1028 handle()->requestedMaxReferencesPerNode = requestedMaxReferencesPerNode;
1029 handle()->nodesToBrowseSize = nodesToBrowse.
size();
1030 handle()->nodesToBrowse = detail::toNativeArray(nodesToBrowse);
1035 UAPP_GETTER(uint32_t, getRequestedMaxReferencesPerNode, requestedMaxReferencesPerNode)
1046 using TypeWrapper::TypeWrapper;
1063 using TypeWrapper::TypeWrapper;
1075 using TypeWrapper::TypeWrapper;
1080 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1089 using TypeWrapper::TypeWrapper;
1093 bool releaseContinuationPoints,
1096 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1097 handle()->releaseContinuationPoints = releaseContinuationPoints;
1098 handle()->continuationPointsSize = continuationPoints.
size();
1099 handle()->continuationPoints = detail::toNativeArray(continuationPoints);
1103 UAPP_GETTER(
bool, getReleaseContinuationPoints, releaseContinuationPoints)
1105 ByteString, getContinuationPoints, continuationPoints, continuationPointsSize
1114 using TypeWrapper::TypeWrapper;
1119 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1129 using TypeWrapper::TypeWrapper;
1134 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
1135 handle()->isInverse = isInverse;
1136 handle()->includeSubtypes = includeSubtypes;
1137 handle()->targetName = detail::toNative(std::move(targetName));
1151 using TypeWrapper::TypeWrapper;
1157 handle()->elementsSize = elements.
size();
1158 handle()->elements = detail::toNativeArray(elements);
1169 using TypeWrapper::TypeWrapper;
1172 handle()->startingNode = detail::toNative(std::move(startingNode));
1173 handle()->relativePath = detail::toNative(std::move(relativePath));
1185 using TypeWrapper::TypeWrapper;
1196 using TypeWrapper::TypeWrapper;
1208 UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST> {
1210 using TypeWrapper::TypeWrapper;
1215 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1216 handle()->browsePathsSize = browsePaths.
size();
1217 handle()->browsePaths = detail::toNativeArray(browsePaths);
1230 UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE> {
1232 using TypeWrapper::TypeWrapper;
1237 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1247 using TypeWrapper::TypeWrapper;
1250 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1251 handle()->nodesToRegisterSize = nodesToRegister.
size();
1252 handle()->nodesToRegister = detail::toNativeArray(nodesToRegister);
1265 using TypeWrapper::TypeWrapper;
1277 using TypeWrapper::TypeWrapper;
1280 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1281 handle()->nodesToUnregisterSize = nodesToUnregister.
size();
1282 handle()->nodesToUnregister = detail::toNativeArray(nodesToUnregister);
1295 using TypeWrapper::TypeWrapper;
1306 using TypeWrapper::TypeWrapper;
1311 std::string_view indexRange = {},
1314 handle()->nodeId = detail::toNative(std::move(nodeId));
1315 handle()->attributeId = detail::toNative(attributeId);
1316 handle()->indexRange = detail::toNative(indexRange);
1317 handle()->dataEncoding = detail::toNative(std::move(dataEncoding));
1332 using TypeWrapper::TypeWrapper;
1340 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1341 handle()->maxAge = maxAge;
1343 handle()->nodesToReadSize = nodesToRead.
size();
1344 handle()->nodesToRead = detail::toNativeArray(nodesToRead);
1359 using TypeWrapper::TypeWrapper;
1364 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1374 using TypeWrapper::TypeWrapper;
1379 handle()->nodeId = detail::toNative(std::move(nodeId));
1380 handle()->attributeId = detail::toNative(attributeId);
1381 handle()->indexRange = detail::toNative(indexRange);
1382 handle()->value = detail::toNative(std::move(value));
1397 using TypeWrapper::TypeWrapper;
1400 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1401 handle()->nodesToWriteSize = nodesToWrite.
size();
1402 handle()->nodesToWrite = detail::toNativeArray(nodesToWrite);
1415 using TypeWrapper::TypeWrapper;
1420 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1430 using TypeWrapper::TypeWrapper;
1433 std::string_view productUri,
1434 std::string_view manufacturerName,
1435 std::string_view productName,
1436 std::string_view softwareVersion,
1437 std::string_view buildNumber,
1440 handle()->productUri = detail::toNative(productUri);
1441 handle()->manufacturerName = detail::toNative(manufacturerName);
1442 handle()->productName = detail::toNative(productName);
1443 handle()->softwareVersion = detail::toNative(softwareVersion);
1444 handle()->buildNumber = detail::toNative(buildNumber);
1445 handle()->buildDate = detail::toNative(std::move(buildDate));
1458#ifdef UA_ENABLE_METHODCALLS
1466 using TypeWrapper::TypeWrapper;
1469 std::string_view name,
1475 handle()->name = detail::toNative(name);
1476 handle()->description = detail::toNative(std::move(description));
1477 handle()->dataType = detail::toNative(std::move(dataType));
1478 handle()->valueRank = detail::toNative(valueRank);
1479 handle()->arrayDimensionsSize = arrayDimensions.
size();
1480 handle()->arrayDimensions = detail::toNativeArray(arrayDimensions);
1496 using TypeWrapper::TypeWrapper;
1499 handle()->objectId = detail::toNative(std::move(objectId));
1500 handle()->methodId = detail::toNative(std::move(methodId));
1501 handle()->inputArgumentsSize = inputArguments.
size();
1502 handle()->inputArguments = detail::toNativeArray(inputArguments);
1516 using TypeWrapper::TypeWrapper;
1520 StatusCode, getInputArgumentResults, inputArgumentResults, inputArgumentResultsSize
1524 getInputArgumentDiagnosticInfos,
1525 inputArgumentDiagnosticInfos,
1526 inputArgumentDiagnosticInfosSize
1537 using TypeWrapper::TypeWrapper;
1540 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1541 handle()->methodsToCallSize = methodsToCall.
size();
1542 handle()->methodsToCall = detail::toNativeArray(methodsToCall);
1555 using TypeWrapper::TypeWrapper;
1560 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1568#ifdef UA_ENABLE_SUBSCRIPTIONS
1605 using TypeWrapper::TypeWrapper;
1608 handle()->index = index;
1620 template <
typename T>
1621 using EnableIfLiteral =
1622 std::enable_if_t<!detail::IsOneOf<T, Variant, UA_LiteralOperand, LiteralOperand>::value>;
1625 using TypeWrapper::TypeWrapper;
1628 handle()->value = detail::toNative(std::move(value));
1631 template <
typename T,
typename = EnableIfLiteral<T>>
1644 using TypeWrapper::TypeWrapper;
1648 std::string_view alias,
1651 std::string_view indexRange = {}
1653 handle()->nodeId = detail::toNative(std::move(nodeId));
1654 handle()->alias = detail::toNative(alias);
1655 handle()->browsePath = detail::toNative(std::move(browsePath));
1656 handle()->attributeId = detail::toNative(attributeId);
1657 handle()->indexRange = detail::toNative(indexRange);
1674 using TypeWrapper::TypeWrapper;
1680 std::string_view indexRange = {}
1682 handle()->typeDefinitionId = detail::toNative(std::move(typeDefinitionId));
1683 handle()->browsePathSize = browsePath.
size();
1684 handle()->browsePath = detail::toNativeArray(browsePath);
1685 handle()->attributeId = detail::toNative(attributeId);
1686 handle()->indexRange = detail::toNative(indexRange);
1727 using TypeWrapper::TypeWrapper;
1748 using TypeWrapper::TypeWrapper;
1799 using TypeWrapper::TypeWrapper;
1803 handle()->deadbandType = detail::toNative(deadbandType);
1804 handle()->deadbandValue = deadbandValue;
1818 using TypeWrapper::TypeWrapper;
1821 handle()->selectClausesSize = selectClauses.
size();
1822 handle()->selectClauses = detail::toNativeArray(selectClauses);
1823 handle()->whereClause = detail::toNative(std::move(whereClause));
1840 using TypeWrapper::TypeWrapper;
1845 double processingInterval,
1848 handle()->startTime = detail::toNative(std::move(startTime));
1849 handle()->aggregateType = detail::toNative(std::move(aggregateType));
1850 handle()->processingInterval = processingInterval;
1851 handle()->aggregateConfiguration = aggregateConfiguration;
1867 using TypeWrapper::TypeWrapper;
1874 double samplingInterval = 250.0,
1876 uint32_t queueSize = 1U,
1877 bool discardOldest = true
1879 handle()->samplingInterval = samplingInterval;
1880 handle()->filter = detail::toNative(std::move(filter));
1881 handle()->queueSize = queueSize;
1882 handle()->discardOldest = discardOldest;
1898 using TypeWrapper::TypeWrapper;
1905 handle()->itemToMonitor = detail::toNative(std::move(itemToMonitor));
1907 handle()->requestedParameters = detail::toNative(std::move(requestedParameters));
1922 using TypeWrapper::TypeWrapper;
1926 UAPP_GETTER(
double, getRevisedSamplingInterval, revisedSamplingInterval);
1936 :
public TypeWrapper<UA_CreateMonitoredItemsRequest, UA_TYPES_CREATEMONITOREDITEMSREQUEST> {
1938 using TypeWrapper::TypeWrapper;
1942 uint32_t subscriptionId,
1946 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1947 handle()->subscriptionId = subscriptionId;
1949 handle()->itemsToCreateSize = itemsToCreate.
size();
1950 handle()->itemsToCreate = detail::toNativeArray(itemsToCreate);
1968 using TypeWrapper::TypeWrapper;
1973 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1984 using TypeWrapper::TypeWrapper;
1987 handle()->monitoredItemId = monitoredItemId;
1988 handle()->requestedParameters = detail::toNative(std::move(requestedParameters));
2000 :
public TypeWrapper<UA_MonitoredItemModifyResult, UA_TYPES_MONITOREDITEMMODIFYRESULT> {
2002 using TypeWrapper::TypeWrapper;
2005 UAPP_GETTER(
double, getRevisedSamplingInterval, revisedSamplingInterval);
2015 :
public TypeWrapper<UA_ModifyMonitoredItemsRequest, UA_TYPES_MODIFYMONITOREDITEMSREQUEST> {
2017 using TypeWrapper::TypeWrapper;
2021 uint32_t subscriptionId,
2025 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2026 handle()->subscriptionId = subscriptionId;
2028 handle()->itemsToModifySize = itemsToModify.
size();
2029 handle()->itemsToModify = detail::toNativeArray(itemsToModify);
2047 using TypeWrapper::TypeWrapper;
2052 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2063 using TypeWrapper::TypeWrapper;
2067 uint32_t subscriptionId,
2071 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2072 handle()->subscriptionId = subscriptionId;
2074 handle()->monitoredItemIdsSize = monitoredItemIds.
size();
2075 handle()->monitoredItemIds = detail::toNativeArray(monitoredItemIds);
2091 using TypeWrapper::TypeWrapper;
2096 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2107 using TypeWrapper::TypeWrapper;
2111 uint32_t subscriptionId,
2112 uint32_t triggeringItemId,
2116 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2117 handle()->subscriptionId = subscriptionId;
2118 handle()->triggeringItemId = triggeringItemId;
2119 handle()->linksToAddSize = linksToAdd.
size();
2120 handle()->linksToAdd = detail::toNativeArray(linksToAdd);
2121 handle()->linksToRemoveSize = linksToRemove.
size();
2122 handle()->linksToRemove = detail::toNativeArray(linksToRemove);
2139 using TypeWrapper::TypeWrapper;
2144 DiagnosticInfo, getAddDiagnosticInfos, addDiagnosticInfos, addDiagnosticInfosSize
2148 DiagnosticInfo, getRemoveDiagnosticInfos, removeDiagnosticInfos, removeDiagnosticInfosSize
2159 using TypeWrapper::TypeWrapper;
2164 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2165 handle()->subscriptionId = subscriptionId;
2166 handle()->monitoredItemIdsSize = monitoredItemIds.
size();
2167 handle()->monitoredItemIds = detail::toNativeArray(monitoredItemIds);
2182 using TypeWrapper::TypeWrapper;
2187 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2198 using TypeWrapper::TypeWrapper;
2202 double requestedPublishingInterval,
2203 uint32_t requestedLifetimeCount,
2204 uint32_t requestedMaxKeepAliveCount,
2205 uint32_t maxNotificationsPerPublish,
2206 bool publishingEnabled,
2209 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2210 handle()->requestedPublishingInterval = requestedPublishingInterval;
2211 handle()->requestedLifetimeCount = requestedLifetimeCount;
2212 handle()->requestedMaxKeepAliveCount = requestedMaxKeepAliveCount;
2213 handle()->maxNotificationsPerPublish = maxNotificationsPerPublish;
2214 handle()->publishingEnabled = publishingEnabled;
2215 handle()->priority = priority;
2219 UAPP_GETTER(
double, getRequestedPublishingInterval, requestedPublishingInterval)
2220 UAPP_GETTER(uint32_t, getRequestedLifetimeCount, requestedLifetimeCount)
2221 UAPP_GETTER(uint32_t, getRequestedMaxKeepAliveCount, requestedMaxKeepAliveCount)
2222 UAPP_GETTER(uint32_t, getMaxNotificationsPerPublish, maxNotificationsPerPublish)
2234 using TypeWrapper::TypeWrapper;
2238 UAPP_GETTER(
bool, getRevisedPublishingInterval, revisedPublishingInterval)
2240 UAPP_GETTER(uint32_t, getRevisedMaxKeepAliveCount, revisedMaxKeepAliveCount)
2250 using TypeWrapper::TypeWrapper;
2254 uint32_t subscriptionId,
2255 double requestedPublishingInterval,
2256 uint32_t requestedLifetimeCount,
2257 uint32_t requestedMaxKeepAliveCount,
2258 uint32_t maxNotificationsPerPublish,
2261 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2262 handle()->subscriptionId = subscriptionId;
2263 handle()->requestedPublishingInterval = requestedPublishingInterval;
2264 handle()->requestedLifetimeCount = requestedLifetimeCount;
2265 handle()->requestedMaxKeepAliveCount = requestedMaxKeepAliveCount;
2266 handle()->maxNotificationsPerPublish = maxNotificationsPerPublish;
2267 handle()->priority = priority;
2272 UAPP_GETTER(
double, getRequestedPublishingInterval, requestedPublishingInterval)
2273 UAPP_GETTER(uint32_t, getRequestedLifetimeCount, requestedLifetimeCount)
2274 UAPP_GETTER(uint32_t, getRequestedMaxKeepAliveCount, requestedMaxKeepAliveCount)
2275 UAPP_GETTER(uint32_t, getMaxNotificationsPerPublish, maxNotificationsPerPublish)
2286 using TypeWrapper::TypeWrapper;
2289 UAPP_GETTER(
bool, getRevisedPublishingInterval, revisedPublishingInterval)
2291 UAPP_GETTER(uint32_t, getRevisedMaxKeepAliveCount, revisedMaxKeepAliveCount)
2301 using TypeWrapper::TypeWrapper;
2306 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2307 handle()->publishingEnabled = publishingEnabled;
2308 handle()->subscriptionIdsSize = subscriptionIds.
size();
2309 handle()->subscriptionIds = detail::toNativeArray(subscriptionIds);
2324 using TypeWrapper::TypeWrapper;
2329 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2340 using TypeWrapper::TypeWrapper;
2353 using TypeWrapper::TypeWrapper;
2356 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2357 handle()->subscriptionIdsSize = subscriptionIds.
size();
2358 handle()->subscriptionIds = detail::toNativeArray(subscriptionIds);
2372 using TypeWrapper::TypeWrapper;
2377 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2401#ifdef UA_ENABLE_TYPEDESCRIPTION
2421 using TypeWrapper::TypeWrapper;
2439 using TypeWrapper::TypeWrapper;
2453 using TypeWrapper::TypeWrapper;
2456 :
EnumField(value, {
"", name}, {}, name) {}
2461 handle()->value = value;
2462 handle()->displayName = detail::toNative(std::move(displayName));
2463 handle()->description = detail::toNative(std::move(description));
2464 handle()->name = detail::toNative(name);
2479 using TypeWrapper::TypeWrapper;
2485 handle()->fieldsSize = fields.
size();
2486 handle()->fields = detail::toNativeArray(fields);
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.
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={})
Bitmask using (scoped) enums.
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_ByteString wrapper class.
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_ContentFilterElement wrapper class.
ContentFilterElement(FilterOperator filterOperator, Span< const FilterOperand > operands)
UA_ContentFilter wrapper class.
ContentFilter(Span< const ContentFilterElement > elements)
ContentFilter(std::initializer_list< ContentFilterElement > elements)
UA_CreateMonitoredItemsRequest wrapper class.
CreateMonitoredItemsRequest(RequestHeader requestHeader, uint32_t 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_DataType wrapper class.
UA_DataValue wrapper class.
UA_DateTime wrapper class.
UA_DeleteMonitoredItemsRequest wrapper class.
DeleteMonitoredItemsRequest(RequestHeader requestHeader, uint32_t subscriptionId, Span< const uint32_t > 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 uint32_t > subscriptionIds)
UA_DeleteSubscriptionsResponse wrapper class.
UA_DiagnosticInfo wrapper class.
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, std::string_view name)
EnumField(int64_t value, LocalizedText displayName, LocalizedText description, std::string_view name)
UA_EnumValueType wrapper class.
int64_t getValue() const noexcept
EnumValueType(int64_t value, LocalizedText displayName, LocalizedText description)
const LocalizedText & getDescription() const noexcept
const LocalizedText & getDisplayName() const noexcept
UA_EventFilter wrapper class.
EventFilter(Span< const SimpleAttributeOperand > selectClauses, ContentFilter whereClause)
UA_ExpandedNodeId wrapper class.
UA_ExtensionObject wrapper class.
UA_IssuedIdentityToken wrapper class.
IssuedIdentityToken(ByteString tokenData, std::string_view encryptionAlgorithm={})
UA_LiteralOperand wrapper class.
LiteralOperand(T &&literal)
LiteralOperand(Variant value)
UA_LocalizedText wrapper class.
UA_MethodAttributes wrapper class.
MethodAttributes()
Construct with default attribute definitions.
UA_ModifyMonitoredItemsRequest wrapper class.
ModifyMonitoredItemsRequest(RequestHeader requestHeader, uint32_t subscriptionId, TimestampsToReturn timestampsToReturn, Span< const MonitoredItemModifyRequest > itemsToModify)
UA_CreateMonitoredItemsResponse wrapper class.
UA_ModifySubscriptionRequest wrapper class.
ModifySubscriptionRequest(RequestHeader requestHeader, uint32_t 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(uint32_t 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.
UA_QualifiedName wrapper class.
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, uint32_t subscriptionId, MonitoringMode monitoringMode, Span< const uint32_t > monitoredItemIds)
UA_SetMonitoringModeResponse wrapper class.
UA_SetPublishingModeRequest wrapper class.
SetPublishingModeRequest(RequestHeader requestHeader, bool publishingEnabled, Span< const uint32_t > subscriptionIds)
UA_SetPublishingModeResponse wrapper class.
UA_SetTriggeringRequest wrapper class.
SetTriggeringRequest(RequestHeader requestHeader, uint32_t subscriptionId, uint32_t triggeringItemId, Span< const uint32_t > linksToAdd, Span< const uint32_t > linksToRemove)
UA_SetTriggeringResponse wrapper class.
UA_SimpleAttributeOperand wrapper class.
SimpleAttributeOperand(NodeId typeDefinitionId, Span< const QualifiedName > browsePath, AttributeId attributeId, std::string_view indexRange={})
View to a contiguous sequence of objects, similar to std::span in C++20.
constexpr size_t size() const noexcept
UA_StatusChangeNotification wrapper class.
UA_StatusCode 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.
Template base class to wrap UA_* type objects.
constexpr TypeWrapper()=default
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 & setValueScalar(Args &&... args)
auto & setValueArray(Args &&... args)
auto & setDataType()
This is an overloaded member function, provided for convenience. It differs from the above function o...
VariableAttributes()
Construct with default attribute definitions.
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...
VariableTypeAttributes()
Construct with default attribute definitions.
auto & setValueScalar(Args &&... args)
UA_Variant wrapper class.
UA_ViewAttributes wrapper class.
ViewAttributes()
Construct with default attribute definitions.
UA_ViewDescription wrapper class.
ViewDescription(NodeId viewId, DateTime timestamp, uint32_t viewVersion)
constexpr UA_EnumValueType * handle() noexcept
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)
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
ReferenceTypeId
ReferenceType node ids defined by the OPC UA specification (generated).
ContentFilter operator||(const ContentFilterElement &lhs, const ContentFilterElement &rhs)
FilterOperator
Filter operator.
#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag)
DataChangeTrigger
Data change trigger.
UserTokenType
User identity token type.
NodeAttributesMask
Node attributes mask.
ContentFilter operator!(const ContentFilterElement &filterElement)
ContentFilter operator&&(const ContentFilterElement &lhs, const ContentFilterElement &rhs)
PerformUpdateType
Perform update type for structured data history updates.
#define UAPP_NODEATTR_BITMASK(Type, suffix, member, flag)
#define UAPP_NODEATTR_ARRAY(Type, suffix, member, memberSize, flag)
#define UAPP_NODEATTR_CAST(Type, suffix, member, flag)
#define UAPP_NODEATTR(Type, suffix, member, flag)
DeadbandType
Deadband type.
std::variant< ElementOperand, LiteralOperand, AttributeOperand, SimpleAttributeOperand, ExtensionObject > FilterOperand
Filter operand.
StructureType
Structure type.
#define UAPP_NODEATTR_COMMON
BrowseResultMask
Browse result mask.
@ Anonymous
No token is required.
@ IssuedToken
Any token issued by an authorization service.
@ Certificate
An X.509 v3 certificate token.
@ Username
A username/password token.
@ StructureWithOptionalFields
static UA_LogCategory const char va_list args
auto toNative(T value) noexcept
EventNotifier
Event notifier.
BrowseDirection
Browse direction.
TimestampsToReturn
Timestamps to return.
MonitoringMode
Monitoring mode.
AttributeId
Attribute identifiers.
@ UserExecutable
Indicates if the method is currently executable taking user access rights into account.
@ Historizing
Indicates whether the server is actively collecting data for the history of the variable.
@ AccessRestrictions
Specifies access restrictions that apply to a node.
@ Executable
Indicates if the method is currently executable.
@ DisplayName
The localized name of the node.
@ BrowseName
A non-localised human-readable name used to browse the address space.
@ Value
The most recent value of the variable that the server has.
@ MinimumSamplingInterval
Specifies (in milliseconds) how fast the server can reasonably sample the value for changes.
@ IsAbstract
If a reference is abstract, no reference of this type shall exist, only of its subtypes.
@ InverseName
The inverse name describes the reference type as seen from the target node.
@ Description
Explains the meaning of the node in a localized text.
@ UserWriteMask
Exposes the possibilities of a client to write the attributes of the node.
@ ArrayDimensions
Specifies the maximum supported length of each dimension of the Value attribute.
@ ContainsNoLoops
Indicates that by following the references in the context of the view there are no loops.
@ RolePermissions
Permissions that apply to a node.
@ UserAccessLevel
Indicates how the value of a variable can be accessed (read/write) and if it contains current and/or ...
@ DataTypeDefinition
Provides the meta data and encoding information for custom data types.
@ Symmetric
If a reference is symmetric, it can seen from both the source and target node.
const UA_DataType & getDataType() noexcept
UA_LocalizedText displayName
UA_LocalizedText description
Trait to define an enum (class) as a bitmask and allow bitwise operations.
If a reference is symmetric
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
UA_BROWSERESULTMASK_REFERENCETYPEID
UA_BROWSERESULTMASK_DISPLAYNAME
UA_BROWSERESULTMASK_ISFORWARD
UA_BROWSERESULTMASK_REFERENCETYPEINFO
UA_BROWSERESULTMASK_TYPEDEFINITION
UA_BROWSERESULTMASK_BROWSENAME
UA_BROWSERESULTMASK_TARGETINFO
UA_BROWSERESULTMASK_NODECLASS