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 member() const noexcept { \
40 return handle()->member; \
43 [[deprecated("use " #member " instead")]] \
44 Type getterName() const noexcept { \
45 return handle()->member; \
48#define UAPP_GETTER_CAST(Type, getterName, member) \
49 Type member() const noexcept { \
50 return static_cast<Type>(handle()->member); \
53 [[deprecated("use " #member " instead")]] \
54 Type getterName() const noexcept { \
55 return static_cast<Type>(handle()->member); \
58#define UAPP_GETTER_WRAPPER_CONST(Type, getterName, member) \
59 const Type& member() const noexcept { \
60 return asWrapper<Type>(handle()->member); \
63 [[deprecated("use " #member " instead")]] \
64 const Type& getterName() const noexcept { \
65 return asWrapper<Type>(handle()->member); \
67#define UAPP_GETTER_WRAPPER_NONCONST(Type, getterName, member) \
68 Type& member() noexcept { \
69 return asWrapper<Type>(handle()->member); \
72 [[deprecated("use " #member " instead")]] \
73 Type& getterName() noexcept { \
74 return asWrapper<Type>(handle()->member); \
76#define UAPP_GETTER_WRAPPER(Type, getterName, member) \
77 UAPP_GETTER_WRAPPER_CONST(Type, getterName, member) \
78 UAPP_GETTER_WRAPPER_NONCONST(Type, getterName, member)
80#define UAPP_GETTER_SPAN(Type, getterName, memberArray, memberSize) \
81 Span<const Type> memberArray() const noexcept { \
82 return {handle()->memberArray, handle()->memberSize}; \
84 Span<Type> memberArray() noexcept { \
85 return {handle()->memberArray, handle()->memberSize}; \
88 [[deprecated("use " #memberArray " instead")]] \
89 Span<const Type> getterName() const noexcept { \
90 return {handle()->memberArray, handle()->memberSize}; \
93 [[deprecated("use " #memberArray " instead")]] \
94 Span<Type> getterName() noexcept { \
95 return {handle()->memberArray, handle()->memberSize}; \
98#define UAPP_GETTER_SPAN_WRAPPER(Type, getterName, memberArray, memberSize) \
99 Span<const Type> memberArray() const noexcept { \
100 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
102 Span<Type> memberArray() noexcept { \
103 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
106 [[deprecated("use " #memberArray " instead")]] \
107 Span<const Type> getterName() const noexcept { \
108 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
111 [[deprecated("use " #memberArray " instead")]] \
112 Span<Type> getterName() noexcept { \
113 return {asWrapper<Type>(handle()->memberArray), handle()->memberSize}; \
176 NodeId authenticationToken,
179 uint32_t returnDiagnostics,
180 std::string_view auditEntryId,
181 uint32_t timeoutHint,
184 handle()->authenticationToken = detail::toNative(std::move(authenticationToken));
185 handle()->timestamp = timestamp;
186 handle()->requestHandle = requestHandle;
187 handle()->returnDiagnostics = returnDiagnostics;
188 handle()->auditEntryId = detail::toNative(auditEntryId);
189 handle()->timeoutHint = timeoutHint;
190 handle()->additionalHeader = detail::toNative(std::move(additionalHeader));
251 using TypeWrapper::TypeWrapper;
254 std::string_view policyId,
256 std::string_view issuedTokenType,
257 std::string_view issuerEndpointUrl,
258 std::string_view securityPolicyUri
260 handle()->policyId = detail::toNative(policyId);
262 handle()->issuedTokenType = detail::toNative(issuedTokenType);
263 handle()->issuerEndpointUrl = detail::toNative(issuerEndpointUrl);
264 handle()->securityPolicyUri = detail::toNative(securityPolicyUri);
281 using TypeWrapper::TypeWrapper;
289 UserTokenPolicy, getUserIdentityTokens, userIdentityTokens, userIdentityTokensSize
349#define UAPP_NODEATTR(Type, suffix, member, flag) \
350 UAPP_GETTER(Type, get##suffix, member) \
351 auto& set##suffix(Type member) noexcept { \
352 handle()->specifiedAttributes |= flag; \
353 handle()->member = member; \
356#define UAPP_NODEATTR_BITMASK(Type, suffix, member, flag) \
357 UAPP_GETTER(Type, get##suffix, member) \
358 auto& set##suffix(Type member) noexcept { \
359 handle()->specifiedAttributes |= flag; \
360 handle()->member = member.get(); \
363#define UAPP_NODEATTR_CAST(Type, suffix, member, flag) \
364 UAPP_GETTER_CAST(Type, get##suffix, member) \
365 auto& set##suffix(Type member) noexcept { \
366 handle()->specifiedAttributes |= flag; \
367 handle()->member = static_cast<decltype(handle()->member)>(member); \
370#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag) \
371 UAPP_GETTER_WRAPPER_CONST(Type, get##suffix, member) \
372 auto& set##suffix(const Type& member) { \
373 handle()->specifiedAttributes |= flag; \
374 asWrapper<Type>(handle()->member) = member; \
377#define UAPP_NODEATTR_ARRAY(Type, suffix, member, memberSize, flag) \
378 UAPP_GETTER_SPAN(Type, get##suffix, member, memberSize) \
379 auto& set##suffix(Span<const Type> member) { \
380 const auto& dataType = opcua::getDataType<Type>(); \
381 handle()->specifiedAttributes |= flag; \
382 detail::deallocateArray(handle()->member, handle()->memberSize, dataType); \
383 handle()->member = detail::copyArray(member.data(), member.size(), dataType); \
384 handle()->memberSize = member.size(); \
387#define UAPP_NODEATTR_COMMON \
388 UAPP_GETTER(Bitmask<NodeAttributesMask>, getSpecifiedAttributes, specifiedAttributes) \
389 UAPP_NODEATTR_WRAPPER( \
390 LocalizedText, DisplayName, displayName, UA_NODEATTRIBUTESMASK_DISPLAYNAME \
392 UAPP_NODEATTR_WRAPPER( \
393 LocalizedText, Description, description, UA_NODEATTRIBUTESMASK_DESCRIPTION \
395 UAPP_NODEATTR_BITMASK( \
396 Bitmask<WriteMask>, WriteMask, writeMask, UA_NODEATTRIBUTESMASK_WRITEMASK \
398 UAPP_NODEATTR_BITMASK( \
399 Bitmask<WriteMask>, UserWriteMask, userWriteMask, UA_NODEATTRIBUTESMASK_USERWRITEMASK \
410 using TypeWrapper::TypeWrapper;
421 using TypeWrapper::TypeWrapper;
439 using TypeWrapper::TypeWrapper;
449 template <
typename... Args>
451 return setValue(
Variant(std::forward<Args>(
args)...));
455 template <
typename... Args>
457 return setValue(
Variant(std::forward<Args>(
args)...));
464 template <
typename T>
475 UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS
484 UA_NODEATTRIBUTESMASK_USERACCESSLEVEL
488 MinimumSamplingInterval,
489 minimumSamplingInterval,
490 UA_NODEATTRIBUTESMASK_MINIMUMSAMPLINGINTERVAL
492 UAPP_NODEATTR(
bool, Historizing, historizing, UA_NODEATTRIBUTESMASK_HISTORIZING)
501 using TypeWrapper::TypeWrapper;
508 UAPP_NODEATTR(
bool, Executable, executable, UA_NODEATTRIBUTESMASK_EXECUTABLE)
509 UAPP_NODEATTR(
bool, UserExecutable, userExecutable, UA_NODEATTRIBUTESMASK_USEREXECUTABLE)
519 using TypeWrapper::TypeWrapper;
526 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
534 :
public TypeWrapper<UA_VariableTypeAttributes, UA_TYPES_VARIABLETYPEATTRIBUTES> {
536 using TypeWrapper::TypeWrapper;
546 template <
typename... Args>
548 return setValue(
Variant(std::forward<Args>(
args)...));
552 template <
typename... Args>
554 return setValue(
Variant(std::forward<Args>(
args)...));
561 template <
typename T>
572 UA_NODEATTRIBUTESMASK_ARRAYDIMENSIONS
574 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
584 using TypeWrapper::TypeWrapper;
591 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
594 LocalizedText, InverseName, inverseName, UA_NODEATTRIBUTESMASK_INVERSENAME
604 using TypeWrapper::TypeWrapper;
611 UAPP_NODEATTR(
bool, IsAbstract, isAbstract, UA_NODEATTRIBUTESMASK_ISABSTRACT)
620 using TypeWrapper::TypeWrapper;
627 UAPP_NODEATTR(
bool, IsAbstract, containsNoLoops, UA_NODEATTRIBUTESMASK_CONTAINSNOLOOPS)
634#undef UAPP_NODEATTR_WRAPPER
635#undef UAPP_NODEATTR_ARRAY
636#undef UAPP_NODEATTR_COMMON
646 using TypeWrapper::TypeWrapper;
656 :
public TypeWrapper<UA_AnonymousIdentityToken, UA_TYPES_ANONYMOUSIDENTITYTOKEN> {
658 using TypeWrapper::TypeWrapper;
668 :
public TypeWrapper<UA_UserNameIdentityToken, UA_TYPES_USERNAMEIDENTITYTOKEN> {
670 using TypeWrapper::TypeWrapper;
673 std::string_view userName,
674 std::string_view password,
675 std::string_view encryptionAlgorithm = {}
677 handle()->userName = detail::toNative(userName);
678 handle()->password = detail::toNative(password);
679 handle()->encryptionAlgorithm = detail::toNative(encryptionAlgorithm);
694 using TypeWrapper::TypeWrapper;
697 handle()->certificateData = detail::toNative(std::move(certificateData));
711 using TypeWrapper::TypeWrapper;
714 handle()->tokenData = detail::toNative(std::move(tokenData));
715 handle()->encryptionAlgorithm = detail::toNative(encryptionAlgorithm);
729 using TypeWrapper::TypeWrapper;
740 handle()->parentNodeId = detail::toNative(std::move(parentNodeId));
741 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
742 handle()->requestedNewNodeId = detail::toNative(std::move(requestedNewNodeId));
743 handle()->browseName = detail::toNative(std::move(browseName));
744 handle()->nodeClass =
static_cast<UA_NodeClass>(nodeClass);
745 handle()->nodeAttributes = detail::toNative(std::move(nodeAttributes));
746 handle()->typeDefinition = detail::toNative(std::move(typeDefinition));
764 using TypeWrapper::TypeWrapper;
776 using TypeWrapper::TypeWrapper;
779 handle()->requestHeader = detail::toNative(std::move(requestHeader));
780 handle()->nodesToAddSize = nodesToAdd.
size();
781 handle()->nodesToAdd = detail::toNativeArray(nodesToAdd);
794 using TypeWrapper::TypeWrapper;
799 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
809 using TypeWrapper::TypeWrapper;
815 std::string_view targetServerUri,
819 handle()->sourceNodeId = detail::toNative(std::move(sourceNodeId));
820 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
821 handle()->isForward = isForward;
822 handle()->targetServerUri = detail::toNative(targetServerUri);
823 handle()->targetNodeId = detail::toNative(std::move(targetNodeId));
824 handle()->targetNodeClass =
static_cast<UA_NodeClass>(targetNodeClass);
842 using TypeWrapper::TypeWrapper;
847 handle()->requestHeader = detail::toNative(std::move(requestHeader));
848 handle()->referencesToAddSize = referencesToAdd.
size();
849 handle()->referencesToAdd = detail::toNativeArray(referencesToAdd);
863 :
public TypeWrapper<UA_AddReferencesResponse, UA_TYPES_ADDREFERENCESRESPONSE> {
865 using TypeWrapper::TypeWrapper;
870 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
880 using TypeWrapper::TypeWrapper;
883 handle()->nodeId = detail::toNative(std::move(nodeId));
884 handle()->deleteTargetReferences = deleteTargetReferences;
888 UAPP_GETTER(
bool, getDeleteTargetReferences, deleteTargetReferences)
897 using TypeWrapper::TypeWrapper;
900 handle()->requestHeader = detail::toNative(std::move(requestHeader));
901 handle()->nodesToDeleteSize = nodesToDelete.
size();
902 handle()->nodesToDelete = detail::toNativeArray(nodesToDelete);
916 using TypeWrapper::TypeWrapper;
921 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
932 using TypeWrapper::TypeWrapper;
939 bool deleteBidirectional
941 handle()->sourceNodeId = detail::toNative(std::move(sourceNodeId));
942 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
943 handle()->isForward = isForward;
944 handle()->targetNodeId = detail::toNative(std::move(targetNodeId));
945 handle()->deleteBidirectional = deleteBidirectional;
962 using TypeWrapper::TypeWrapper;
967 handle()->requestHeader = detail::toNative(std::move(requestHeader));
968 handle()->referencesToDeleteSize = referencesToDelete.
size();
969 handle()->referencesToDelete = detail::toNativeArray(referencesToDelete);
983 :
public TypeWrapper<UA_DeleteReferencesResponse, UA_TYPES_DELETEREFERENCESRESPONSE> {
985 using TypeWrapper::TypeWrapper;
990 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
999 using TypeWrapper::TypeWrapper;
1002 handle()->viewId = detail::toNative(std::move(viewId));
1003 handle()->timestamp = timestamp;
1004 handle()->viewVersion = viewVersion;
1061 using TypeWrapper::TypeWrapper;
1066 NodeId referenceTypeId = ReferenceTypeId::References,
1067 bool includeSubtypes =
true,
1071 handle()->nodeId = detail::toNative(std::move(nodeId));
1073 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
1074 handle()->includeSubtypes = includeSubtypes;
1075 handle()->nodeClassMask = nodeClassMask.get();
1076 handle()->resultMask = resultMask.get();
1092 using TypeWrapper::TypeWrapper;
1097 uint32_t requestedMaxReferencesPerNode,
1100 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1101 handle()->view = detail::toNative(std::move(view));
1102 handle()->requestedMaxReferencesPerNode = requestedMaxReferencesPerNode;
1103 handle()->nodesToBrowseSize = nodesToBrowse.
size();
1104 handle()->nodesToBrowse = detail::toNativeArray(nodesToBrowse);
1109 UAPP_GETTER(uint32_t, getRequestedMaxReferencesPerNode, requestedMaxReferencesPerNode)
1120 using TypeWrapper::TypeWrapper;
1137 using TypeWrapper::TypeWrapper;
1149 using TypeWrapper::TypeWrapper;
1154 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1163 using TypeWrapper::TypeWrapper;
1167 bool releaseContinuationPoints,
1170 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1171 handle()->releaseContinuationPoints = releaseContinuationPoints;
1172 handle()->continuationPointsSize = continuationPoints.
size();
1173 handle()->continuationPoints = detail::toNativeArray(continuationPoints);
1177 UAPP_GETTER(
bool, getReleaseContinuationPoints, releaseContinuationPoints)
1179 ByteString, getContinuationPoints, continuationPoints, continuationPointsSize
1188 using TypeWrapper::TypeWrapper;
1193 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1203 using TypeWrapper::TypeWrapper;
1208 handle()->referenceTypeId = detail::toNative(std::move(referenceTypeId));
1209 handle()->isInverse = isInverse;
1210 handle()->includeSubtypes = includeSubtypes;
1211 handle()->targetName = detail::toNative(std::move(targetName));
1225 using TypeWrapper::TypeWrapper;
1231 handle()->elementsSize = elements.
size();
1232 handle()->elements = detail::toNativeArray(elements);
1243 using TypeWrapper::TypeWrapper;
1246 handle()->startingNode = detail::toNative(std::move(startingNode));
1247 handle()->relativePath = detail::toNative(std::move(relativePath));
1259 using TypeWrapper::TypeWrapper;
1270 using TypeWrapper::TypeWrapper;
1282 UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST> {
1284 using TypeWrapper::TypeWrapper;
1289 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1290 handle()->browsePathsSize = browsePaths.
size();
1291 handle()->browsePaths = detail::toNativeArray(browsePaths);
1304 UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE> {
1306 using TypeWrapper::TypeWrapper;
1311 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1321 using TypeWrapper::TypeWrapper;
1324 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1325 handle()->nodesToRegisterSize = nodesToRegister.
size();
1326 handle()->nodesToRegister = detail::toNativeArray(nodesToRegister);
1339 using TypeWrapper::TypeWrapper;
1351 using TypeWrapper::TypeWrapper;
1354 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1355 handle()->nodesToUnregisterSize = nodesToUnregister.
size();
1356 handle()->nodesToUnregister = detail::toNativeArray(nodesToUnregister);
1369 using TypeWrapper::TypeWrapper;
1395 using TypeWrapper::TypeWrapper;
1400 std::string_view indexRange = {},
1403 handle()->nodeId = detail::toNative(std::move(nodeId));
1404 handle()->attributeId = detail::toNative(attributeId);
1405 handle()->indexRange = detail::toNative(indexRange);
1406 handle()->dataEncoding = detail::toNative(std::move(dataEncoding));
1421 using TypeWrapper::TypeWrapper;
1429 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1430 handle()->maxAge = maxAge;
1432 handle()->nodesToReadSize = nodesToRead.
size();
1433 handle()->nodesToRead = detail::toNativeArray(nodesToRead);
1448 using TypeWrapper::TypeWrapper;
1453 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1463 using TypeWrapper::TypeWrapper;
1468 handle()->nodeId = detail::toNative(std::move(nodeId));
1469 handle()->attributeId = detail::toNative(attributeId);
1470 handle()->indexRange = detail::toNative(indexRange);
1471 handle()->value = detail::toNative(std::move(value));
1486 using TypeWrapper::TypeWrapper;
1489 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1490 handle()->nodesToWriteSize = nodesToWrite.
size();
1491 handle()->nodesToWrite = detail::toNativeArray(nodesToWrite);
1504 using TypeWrapper::TypeWrapper;
1509 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1519 using TypeWrapper::TypeWrapper;
1522 std::string_view productUri,
1523 std::string_view manufacturerName,
1524 std::string_view productName,
1525 std::string_view softwareVersion,
1526 std::string_view buildNumber,
1529 handle()->productUri = detail::toNative(productUri);
1530 handle()->manufacturerName = detail::toNative(manufacturerName);
1531 handle()->productName = detail::toNative(productName);
1532 handle()->softwareVersion = detail::toNative(softwareVersion);
1533 handle()->buildNumber = detail::toNative(buildNumber);
1534 handle()->buildDate = detail::toNative(std::move(buildDate));
1547#ifdef UA_ENABLE_METHODCALLS
1555 using TypeWrapper::TypeWrapper;
1558 std::string_view name,
1564 handle()->name = detail::toNative(name);
1565 handle()->description = detail::toNative(std::move(description));
1566 handle()->dataType = detail::toNative(std::move(dataType));
1567 handle()->valueRank = detail::toNative(valueRank);
1568 handle()->arrayDimensionsSize = arrayDimensions.
size();
1569 handle()->arrayDimensions = detail::toNativeArray(arrayDimensions);
1585 using TypeWrapper::TypeWrapper;
1588 handle()->objectId = detail::toNative(std::move(objectId));
1589 handle()->methodId = detail::toNative(std::move(methodId));
1590 handle()->inputArgumentsSize = inputArguments.
size();
1591 handle()->inputArguments = detail::toNativeArray(inputArguments);
1605 using TypeWrapper::TypeWrapper;
1609 StatusCode, getInputArgumentResults, inputArgumentResults, inputArgumentResultsSize
1613 getInputArgumentDiagnosticInfos,
1614 inputArgumentDiagnosticInfos,
1615 inputArgumentDiagnosticInfosSize
1626 using TypeWrapper::TypeWrapper;
1629 handle()->requestHeader = detail::toNative(std::move(requestHeader));
1630 handle()->methodsToCallSize = methodsToCall.
size();
1631 handle()->methodsToCall = detail::toNativeArray(methodsToCall);
1644 using TypeWrapper::TypeWrapper;
1649 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
1657#ifdef UA_ENABLE_SUBSCRIPTIONS
1682 GreaterThanOrEqual = 4,
1683 LessThanOrEqual = 5,
1707 using TypeWrapper::TypeWrapper;
1710 handle()->index = index;
1722 template <
typename T>
1723 using EnableIfLiteral =
1724 std::enable_if_t<!detail::IsOneOf<T, Variant, UA_LiteralOperand, LiteralOperand>::value>;
1727 using TypeWrapper::TypeWrapper;
1730 handle()->value = detail::toNative(std::move(value));
1733 template <
typename T,
typename = EnableIfLiteral<T>>
1746 using TypeWrapper::TypeWrapper;
1750 std::string_view alias,
1753 std::string_view indexRange = {}
1755 handle()->nodeId = detail::toNative(std::move(nodeId));
1756 handle()->alias = detail::toNative(alias);
1757 handle()->browsePath = detail::toNative(std::move(browsePath));
1758 handle()->attributeId = detail::toNative(attributeId);
1759 handle()->indexRange = detail::toNative(indexRange);
1776 using TypeWrapper::TypeWrapper;
1782 std::string_view indexRange = {}
1784 handle()->typeDefinitionId = detail::toNative(std::move(typeDefinitionId));
1785 handle()->browsePathSize = browsePath.
size();
1786 handle()->browsePath = detail::toNativeArray(browsePath);
1787 handle()->attributeId = detail::toNative(attributeId);
1788 handle()->indexRange = detail::toNative(indexRange);
1829 using TypeWrapper::TypeWrapper;
1850 using TypeWrapper::TypeWrapper;
1893 StatusValueTimestamp = 2,
1915 using TypeWrapper::TypeWrapper;
1919 handle()->deadbandType = detail::toNative(deadbandType);
1920 handle()->deadbandValue = deadbandValue;
1934 using TypeWrapper::TypeWrapper;
1937 handle()->selectClausesSize = selectClauses.
size();
1938 handle()->selectClauses = detail::toNativeArray(selectClauses);
1939 handle()->whereClause = detail::toNative(std::move(whereClause));
1956 using TypeWrapper::TypeWrapper;
1961 double processingInterval,
1964 handle()->startTime = detail::toNative(std::move(startTime));
1965 handle()->aggregateType = detail::toNative(std::move(aggregateType));
1966 handle()->processingInterval = processingInterval;
1967 handle()->aggregateConfiguration = aggregateConfiguration;
1983 using TypeWrapper::TypeWrapper;
1990 double samplingInterval = 250.0,
1992 uint32_t queueSize = 1U,
1993 bool discardOldest = true
1995 handle()->samplingInterval = samplingInterval;
1996 handle()->filter = detail::toNative(std::move(filter));
1997 handle()->queueSize = queueSize;
1998 handle()->discardOldest = discardOldest;
2014 using TypeWrapper::TypeWrapper;
2021 handle()->itemToMonitor = detail::toNative(std::move(itemToMonitor));
2023 handle()->requestedParameters = detail::toNative(std::move(requestedParameters));
2038 using TypeWrapper::TypeWrapper;
2042 UAPP_GETTER(
double, getRevisedSamplingInterval, revisedSamplingInterval);
2052 :
public TypeWrapper<UA_CreateMonitoredItemsRequest, UA_TYPES_CREATEMONITOREDITEMSREQUEST> {
2054 using TypeWrapper::TypeWrapper;
2062 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2063 handle()->subscriptionId = subscriptionId;
2065 handle()->itemsToCreateSize = itemsToCreate.
size();
2066 handle()->itemsToCreate = detail::toNativeArray(itemsToCreate);
2084 using TypeWrapper::TypeWrapper;
2089 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2100 using TypeWrapper::TypeWrapper;
2105 handle()->monitoredItemId = monitoredItemId;
2106 handle()->requestedParameters = detail::toNative(std::move(requestedParameters));
2118 :
public TypeWrapper<UA_MonitoredItemModifyResult, UA_TYPES_MONITOREDITEMMODIFYRESULT> {
2120 using TypeWrapper::TypeWrapper;
2123 UAPP_GETTER(
double, getRevisedSamplingInterval, revisedSamplingInterval);
2133 :
public TypeWrapper<UA_ModifyMonitoredItemsRequest, UA_TYPES_MODIFYMONITOREDITEMSREQUEST> {
2135 using TypeWrapper::TypeWrapper;
2143 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2144 handle()->subscriptionId = subscriptionId;
2146 handle()->itemsToModifySize = itemsToModify.
size();
2147 handle()->itemsToModify = detail::toNativeArray(itemsToModify);
2165 using TypeWrapper::TypeWrapper;
2170 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2181 using TypeWrapper::TypeWrapper;
2189 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2190 handle()->subscriptionId = subscriptionId;
2192 handle()->monitoredItemIdsSize = monitoredItemIds.
size();
2193 handle()->monitoredItemIds = detail::toNativeArray(monitoredItemIds);
2209 using TypeWrapper::TypeWrapper;
2214 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2225 using TypeWrapper::TypeWrapper;
2234 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2235 handle()->subscriptionId = subscriptionId;
2236 handle()->triggeringItemId = triggeringItemId;
2237 handle()->linksToAddSize = linksToAdd.
size();
2238 handle()->linksToAdd = detail::toNativeArray(linksToAdd);
2239 handle()->linksToRemoveSize = linksToRemove.
size();
2240 handle()->linksToRemove = detail::toNativeArray(linksToRemove);
2257 using TypeWrapper::TypeWrapper;
2262 DiagnosticInfo, getAddDiagnosticInfos, addDiagnosticInfos, addDiagnosticInfosSize
2266 DiagnosticInfo, getRemoveDiagnosticInfos, removeDiagnosticInfos, removeDiagnosticInfosSize
2277 using TypeWrapper::TypeWrapper;
2284 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2285 handle()->subscriptionId = subscriptionId;
2286 handle()->monitoredItemIdsSize = monitoredItemIds.
size();
2287 handle()->monitoredItemIds = detail::toNativeArray(monitoredItemIds);
2302 using TypeWrapper::TypeWrapper;
2307 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2318 using TypeWrapper::TypeWrapper;
2322 double requestedPublishingInterval,
2323 uint32_t requestedLifetimeCount,
2324 uint32_t requestedMaxKeepAliveCount,
2325 uint32_t maxNotificationsPerPublish,
2326 bool publishingEnabled,
2329 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2330 handle()->requestedPublishingInterval = requestedPublishingInterval;
2331 handle()->requestedLifetimeCount = requestedLifetimeCount;
2332 handle()->requestedMaxKeepAliveCount = requestedMaxKeepAliveCount;
2333 handle()->maxNotificationsPerPublish = maxNotificationsPerPublish;
2334 handle()->publishingEnabled = publishingEnabled;
2335 handle()->priority = priority;
2339 UAPP_GETTER(
double, getRequestedPublishingInterval, requestedPublishingInterval)
2340 UAPP_GETTER(uint32_t, getRequestedLifetimeCount, requestedLifetimeCount)
2341 UAPP_GETTER(uint32_t, getRequestedMaxKeepAliveCount, requestedMaxKeepAliveCount)
2342 UAPP_GETTER(uint32_t, getMaxNotificationsPerPublish, maxNotificationsPerPublish)
2354 using TypeWrapper::TypeWrapper;
2358 UAPP_GETTER(
bool, getRevisedPublishingInterval, revisedPublishingInterval)
2360 UAPP_GETTER(uint32_t, getRevisedMaxKeepAliveCount, revisedMaxKeepAliveCount)
2370 using TypeWrapper::TypeWrapper;
2375 double requestedPublishingInterval,
2376 uint32_t requestedLifetimeCount,
2377 uint32_t requestedMaxKeepAliveCount,
2378 uint32_t maxNotificationsPerPublish,
2381 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2382 handle()->subscriptionId = subscriptionId;
2383 handle()->requestedPublishingInterval = requestedPublishingInterval;
2384 handle()->requestedLifetimeCount = requestedLifetimeCount;
2385 handle()->requestedMaxKeepAliveCount = requestedMaxKeepAliveCount;
2386 handle()->maxNotificationsPerPublish = maxNotificationsPerPublish;
2387 handle()->priority = priority;
2392 UAPP_GETTER(
double, getRequestedPublishingInterval, requestedPublishingInterval)
2393 UAPP_GETTER(uint32_t, getRequestedLifetimeCount, requestedLifetimeCount)
2394 UAPP_GETTER(uint32_t, getRequestedMaxKeepAliveCount, requestedMaxKeepAliveCount)
2395 UAPP_GETTER(uint32_t, getMaxNotificationsPerPublish, maxNotificationsPerPublish)
2406 using TypeWrapper::TypeWrapper;
2409 UAPP_GETTER(
bool, getRevisedPublishingInterval, revisedPublishingInterval)
2411 UAPP_GETTER(uint32_t, getRevisedMaxKeepAliveCount, revisedMaxKeepAliveCount)
2421 using TypeWrapper::TypeWrapper;
2426 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2427 handle()->publishingEnabled = publishingEnabled;
2428 handle()->subscriptionIdsSize = subscriptionIds.
size();
2429 handle()->subscriptionIds = detail::toNativeArray(subscriptionIds);
2444 using TypeWrapper::TypeWrapper;
2449 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2460 using TypeWrapper::TypeWrapper;
2473 using TypeWrapper::TypeWrapper;
2476 handle()->requestHeader = detail::toNative(std::move(requestHeader));
2477 handle()->subscriptionIdsSize = subscriptionIds.
size();
2478 handle()->subscriptionIds = detail::toNativeArray(subscriptionIds);
2492 using TypeWrapper::TypeWrapper;
2497 DiagnosticInfo, getDiagnosticInfos, diagnosticInfos, diagnosticInfosSize
2521#if UAPP_HAS_DATAACCESS
2527class Range :
public TypeWrapper<UA_Range, UA_TYPES_RANGE> {
2529 using TypeWrapper::TypeWrapper;
2531 Range(
double low,
double high)
noexcept {
2532 handle()->low = low;
2533 handle()->high = high;
2544class EUInformation :
public TypeWrapper<UA_EUInformation, UA_TYPES_EUINFORMATION> {
2546 using TypeWrapper::TypeWrapper;
2549 std::string_view namespaceUri,
2551 LocalizedText displayName,
2552 LocalizedText description
2554 handle()->namespaceUri = detail::toNative(namespaceUri);
2555 handle()->unitId = unitId;
2556 handle()->displayName = detail::toNative(std::move(displayName));
2557 handle()->description = detail::toNative(std::move(description));
2570class ComplexNumberType :
public TypeWrapper<UA_ComplexNumberType, UA_TYPES_COMPLEXNUMBERTYPE> {
2572 using TypeWrapper::TypeWrapper;
2575 handle()->real = real;
2576 handle()->imaginary = imaginary;
2588 :
public TypeWrapper<UA_DoubleComplexNumberType, UA_TYPES_DOUBLECOMPLEXNUMBERTYPE> {
2590 using TypeWrapper::TypeWrapper;
2593 handle()->real = real;
2594 handle()->imaginary = imaginary;
2615class AxisInformation :
public TypeWrapper<UA_AxisInformation, UA_TYPES_AXISINFORMATION> {
2617 using TypeWrapper::TypeWrapper;
2620 EUInformation engineeringUnits,
2622 LocalizedText title,
2623 AxisScaleEnumeration axisScaleType,
2624 Span<const double> axisSteps
2626 handle()->engineeringUnits = detail::toNative(std::move(engineeringUnits));
2627 handle()->eURange = detail::toNative(std::move(eURange));
2628 handle()->title = detail::toNative(std::move(title));
2630 handle()->axisStepsSize = axisSteps.size();
2631 handle()->axisSteps = detail::toNativeArray(axisSteps);
2645class XVType :
public TypeWrapper<UA_XVType, UA_TYPES_XVTYPE> {
2647 using TypeWrapper::TypeWrapper;
2649 XVType(
double x,
float value)
noexcept {
2651 handle()->value = value;
2662#ifdef UA_ENABLE_TYPEDESCRIPTION
2671 StructureWithOptionalFields = 1,
2682 using TypeWrapper::TypeWrapper;
2700 using TypeWrapper::TypeWrapper;
2714 using TypeWrapper::TypeWrapper;
2717 :
EnumField(value, {
"", name}, {}, name) {}
2722 handle()->value = value;
2723 handle()->displayName = detail::toNative(std::move(displayName));
2724 handle()->description = detail::toNative(std::move(description));
2725 handle()->name = detail::toNative(name);
2740 using TypeWrapper::TypeWrapper;
2746 handle()->fieldsSize = fields.
size();
2747 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 UA_EnumValueType * handle() noexcept
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={})
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_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_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.
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)
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).
@ DoubleComplexNumberType
BrowseResultMask
Browse result mask.
DeadbandType
Deadband type.
#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag)
ContentFilter operator!(const ContentFilterElement &filterElement)
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.
ContentFilter operator&&(const ContentFilterElement &lhs, const ContentFilterElement &rhs)
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
std::variant< ElementOperand, LiteralOperand, AttributeOperand, SimpleAttributeOperand, ExtensionObject > FilterOperand
Filter operand.
@ 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.
@ Sign
All messages are signed but not encrypted.
@ Invalid
Will always be rejected.
@ None
No security applied.
@ SignAndEncrypt
All messages are signed and encrypted.
static UA_LogCategory const char va_list args
uint32_t IntegerId
IntegerId.
EventNotifier
Event notifier.
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
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