open62541++ 0.13.0
C++ wrapper of open62541
Loading...
Searching...
No Matches
Attribute_highlevel.h
Go to the documentation of this file.
1/* ---------------------------------------------------------------------------------------------- */
2/* Generated - do not modify! */
3/* ---------------------------------------------------------------------------------------------- */
4
5#pragma once
6
8
9namespace opcua::services {
10
11/**
12 * Read the AttributeId::NodeId attribute of a node.
13 * @param connection Instance of type Client (or Server)
14 * @param id Node to read
15 * @ingroup Read
16 */
17template <typename T>
18inline Result<NodeId> readNodeId(T& connection, const NodeId& id) noexcept {
19 return detail::readAttributeImpl<AttributeId::NodeId>(connection, id);
20}
21
22/**
23 * Asynchronously read the AttributeId::NodeId attribute of a node.
24 * @copydetails readNodeId
25 * @param token @completiontoken{void(Result<NodeId>&)}
26 * @ingroup Read
27 */
28template <typename CompletionToken = DefaultCompletionToken>
29inline auto readNodeIdAsync(
30 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
31) {
32 return detail::readAttributeAsyncImpl<AttributeId::NodeId>(
33 connection, id, std::forward<CompletionToken>(token)
34 );
35}
36
37/**
38 * Read the AttributeId::NodeClass attribute of a node.
39 * @param connection Instance of type Client (or Server)
40 * @param id Node to read
41 * @ingroup Read
42 */
43template <typename T>
44inline Result<NodeClass> readNodeClass(T& connection, const NodeId& id) noexcept {
45 return detail::readAttributeImpl<AttributeId::NodeClass>(connection, id);
46}
47
48/**
49 * Asynchronously read the AttributeId::NodeClass attribute of a node.
50 * @copydetails readNodeClass
51 * @param token @completiontoken{void(Result<NodeClass>)}
52 * @ingroup Read
53 */
54template <typename CompletionToken = DefaultCompletionToken>
56 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
57) {
58 return detail::readAttributeAsyncImpl<AttributeId::NodeClass>(
59 connection, id, std::forward<CompletionToken>(token)
60 );
61}
62
63/**
64 * Read the AttributeId::BrowseName attribute of a node.
65 * @param connection Instance of type Client (or Server)
66 * @param id Node to read
67 * @ingroup Read
68 */
69template <typename T>
70inline Result<QualifiedName> readBrowseName(T& connection, const NodeId& id) noexcept {
71 return detail::readAttributeImpl<AttributeId::BrowseName>(connection, id);
72}
73
74/**
75 * Asynchronously read the AttributeId::BrowseName attribute of a node.
76 * @copydetails readBrowseName
77 * @param token @completiontoken{void(Result<QualifiedName>&)}
78 * @ingroup Read
79 */
80template <typename CompletionToken = DefaultCompletionToken>
82 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
83) {
84 return detail::readAttributeAsyncImpl<AttributeId::BrowseName>(
85 connection, id, std::forward<CompletionToken>(token)
86 );
87}
88
89/**
90 * Write the AttributeId::BrowseName attribute of a node.
91 * @param connection Instance of type Client (or Server)
92 * @param id Node to write
93 * @param browseName Value to write
94 * @ingroup Write
95 */
96template <typename T>
98 T& connection, const NodeId& id, const QualifiedName& browseName
99) noexcept {
100 return detail::writeAttributeImpl<AttributeId::BrowseName>(connection, id, browseName);
101}
102
103/**
104 * Asynchronously write the AttributeId::BrowseName attribute of a node.
105 * @copydetails writeBrowseName
106 * @param token @completiontoken{void(Result<void>)}
107 * @ingroup Write
108 */
109template <typename CompletionToken = DefaultCompletionToken>
111 Client& connection,
112 const NodeId& id,
113 const QualifiedName& browseName,
114 CompletionToken&& token = DefaultCompletionToken()
115) {
116 return detail::writeAttributeAsyncImpl<AttributeId::BrowseName>(
117 connection, id, browseName, std::forward<CompletionToken>(token)
118 );
119}
120
121/**
122 * Read the AttributeId::DisplayName attribute of a node.
123 * @param connection Instance of type Client (or Server)
124 * @param id Node to read
125 * @ingroup Read
126 */
127template <typename T>
128inline Result<LocalizedText> readDisplayName(T& connection, const NodeId& id) noexcept {
129 return detail::readAttributeImpl<AttributeId::DisplayName>(connection, id);
130}
131
132/**
133 * Asynchronously read the AttributeId::DisplayName attribute of a node.
134 * @copydetails readDisplayName
135 * @param token @completiontoken{void(Result<LocalizedText>&)}
136 * @ingroup Read
137 */
138template <typename CompletionToken = DefaultCompletionToken>
140 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
141) {
142 return detail::readAttributeAsyncImpl<AttributeId::DisplayName>(
143 connection, id, std::forward<CompletionToken>(token)
144 );
145}
146
147/**
148 * Write the AttributeId::DisplayName attribute of a node.
149 * @param connection Instance of type Client (or Server)
150 * @param id Node to write
151 * @param displayName Value to write
152 * @ingroup Write
153 */
154template <typename T>
156 T& connection, const NodeId& id, const LocalizedText& displayName
157) noexcept {
158 return detail::writeAttributeImpl<AttributeId::DisplayName>(connection, id, displayName);
159}
160
161/**
162 * Asynchronously write the AttributeId::DisplayName attribute of a node.
163 * @copydetails writeDisplayName
164 * @param token @completiontoken{void(Result<void>)}
165 * @ingroup Write
166 */
167template <typename CompletionToken = DefaultCompletionToken>
169 Client& connection,
170 const NodeId& id,
171 const LocalizedText& displayName,
172 CompletionToken&& token = DefaultCompletionToken()
173) {
174 return detail::writeAttributeAsyncImpl<AttributeId::DisplayName>(
175 connection, id, displayName, std::forward<CompletionToken>(token)
176 );
177}
178
179/**
180 * Read the AttributeId::Description attribute of a node.
181 * @param connection Instance of type Client (or Server)
182 * @param id Node to read
183 * @ingroup Read
184 */
185template <typename T>
186inline Result<LocalizedText> readDescription(T& connection, const NodeId& id) noexcept {
187 return detail::readAttributeImpl<AttributeId::Description>(connection, id);
188}
189
190/**
191 * Asynchronously read the AttributeId::Description attribute of a node.
192 * @copydetails readDescription
193 * @param token @completiontoken{void(Result<LocalizedText>&)}
194 * @ingroup Read
195 */
196template <typename CompletionToken = DefaultCompletionToken>
198 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
199) {
200 return detail::readAttributeAsyncImpl<AttributeId::Description>(
201 connection, id, std::forward<CompletionToken>(token)
202 );
203}
204
205/**
206 * Write the AttributeId::Description attribute of a node.
207 * @param connection Instance of type Client (or Server)
208 * @param id Node to write
209 * @param description Value to write
210 * @ingroup Write
211 */
212template <typename T>
214 T& connection, const NodeId& id, const LocalizedText& description
215) noexcept {
216 return detail::writeAttributeImpl<AttributeId::Description>(connection, id, description);
217}
218
219/**
220 * Asynchronously write the AttributeId::Description attribute of a node.
221 * @copydetails writeDescription
222 * @param token @completiontoken{void(Result<void>)}
223 * @ingroup Write
224 */
225template <typename CompletionToken = DefaultCompletionToken>
227 Client& connection,
228 const NodeId& id,
229 const LocalizedText& description,
230 CompletionToken&& token = DefaultCompletionToken()
231) {
232 return detail::writeAttributeAsyncImpl<AttributeId::Description>(
233 connection, id, description, std::forward<CompletionToken>(token)
234 );
235}
236
237/**
238 * Read the AttributeId::WriteMask attribute of a node.
239 * @param connection Instance of type Client (or Server)
240 * @param id Node to read
241 * @ingroup Read
242 */
243template <typename T>
244inline Result<Bitmask<WriteMask>> readWriteMask(T& connection, const NodeId& id) noexcept {
245 return detail::readAttributeImpl<AttributeId::WriteMask>(connection, id);
246}
247
248/**
249 * Asynchronously read the AttributeId::WriteMask attribute of a node.
250 * @copydetails readWriteMask
251 * @param token @completiontoken{void(Result<Bitmask<WriteMask>>)}
252 * @ingroup Read
253 */
254template <typename CompletionToken = DefaultCompletionToken>
256 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
257) {
258 return detail::readAttributeAsyncImpl<AttributeId::WriteMask>(
259 connection, id, std::forward<CompletionToken>(token)
260 );
261}
262
263/**
264 * Write the AttributeId::WriteMask attribute of a node.
265 * @param connection Instance of type Client (or Server)
266 * @param id Node to write
267 * @param writeMask Value to write
268 * @ingroup Write
269 */
270template <typename T>
272 T& connection, const NodeId& id, Bitmask<WriteMask> writeMask
273) noexcept {
274 return detail::writeAttributeImpl<AttributeId::WriteMask>(connection, id, writeMask);
275}
276
277/**
278 * Asynchronously write the AttributeId::WriteMask attribute of a node.
279 * @copydetails writeWriteMask
280 * @param token @completiontoken{void(Result<void>)}
281 * @ingroup Write
282 */
283template <typename CompletionToken = DefaultCompletionToken>
285 Client& connection,
286 const NodeId& id,
287 Bitmask<WriteMask> writeMask,
288 CompletionToken&& token = DefaultCompletionToken()
289) {
290 return detail::writeAttributeAsyncImpl<AttributeId::WriteMask>(
291 connection, id, writeMask, std::forward<CompletionToken>(token)
292 );
293}
294
295/**
296 * Read the AttributeId::UserWriteMask attribute of a node.
297 * @param connection Instance of type Client (or Server)
298 * @param id Node to read
299 * @ingroup Read
300 */
301template <typename T>
302inline Result<Bitmask<WriteMask>> readUserWriteMask(T& connection, const NodeId& id) noexcept {
303 return detail::readAttributeImpl<AttributeId::UserWriteMask>(connection, id);
304}
305
306/**
307 * Asynchronously read the AttributeId::UserWriteMask attribute of a node.
308 * @copydetails readUserWriteMask
309 * @param token @completiontoken{void(Result<Bitmask<WriteMask>>)}
310 * @ingroup Read
311 */
312template <typename CompletionToken = DefaultCompletionToken>
314 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
315) {
316 return detail::readAttributeAsyncImpl<AttributeId::UserWriteMask>(
317 connection, id, std::forward<CompletionToken>(token)
318 );
319}
320
321/**
322 * Write the AttributeId::UserWriteMask attribute of a node.
323 * @param connection Instance of type Client (or Server)
324 * @param id Node to write
325 * @param userWriteMask Value to write
326 * @ingroup Write
327 */
328template <typename T>
330 T& connection, const NodeId& id, Bitmask<WriteMask> userWriteMask
331) noexcept {
332 return detail::writeAttributeImpl<AttributeId::UserWriteMask>(connection, id, userWriteMask);
333}
334
335/**
336 * Asynchronously write the AttributeId::UserWriteMask attribute of a node.
337 * @copydetails writeUserWriteMask
338 * @param token @completiontoken{void(Result<void>)}
339 * @ingroup Write
340 */
341template <typename CompletionToken = DefaultCompletionToken>
343 Client& connection,
344 const NodeId& id,
345 Bitmask<WriteMask> userWriteMask,
346 CompletionToken&& token = DefaultCompletionToken()
347) {
348 return detail::writeAttributeAsyncImpl<AttributeId::UserWriteMask>(
349 connection, id, userWriteMask, std::forward<CompletionToken>(token)
350 );
351}
352
353/**
354 * Read the AttributeId::IsAbstract attribute of a node.
355 * @param connection Instance of type Client (or Server)
356 * @param id Node to read
357 * @ingroup Read
358 */
359template <typename T>
360inline Result<bool> readIsAbstract(T& connection, const NodeId& id) noexcept {
361 return detail::readAttributeImpl<AttributeId::IsAbstract>(connection, id);
362}
363
364/**
365 * Asynchronously read the AttributeId::IsAbstract attribute of a node.
366 * @copydetails readIsAbstract
367 * @param token @completiontoken{void(Result<bool>)}
368 * @ingroup Read
369 */
370template <typename CompletionToken = DefaultCompletionToken>
372 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
373) {
374 return detail::readAttributeAsyncImpl<AttributeId::IsAbstract>(
375 connection, id, std::forward<CompletionToken>(token)
376 );
377}
378
379/**
380 * Write the AttributeId::IsAbstract attribute of a node.
381 * @param connection Instance of type Client (or Server)
382 * @param id Node to write
383 * @param isAbstract Value to write
384 * @ingroup Write
385 */
386template <typename T>
387inline Result<void> writeIsAbstract(T& connection, const NodeId& id, bool isAbstract) noexcept {
388 return detail::writeAttributeImpl<AttributeId::IsAbstract>(connection, id, isAbstract);
389}
390
391/**
392 * Asynchronously write the AttributeId::IsAbstract attribute of a node.
393 * @copydetails writeIsAbstract
394 * @param token @completiontoken{void(Result<void>)}
395 * @ingroup Write
396 */
397template <typename CompletionToken = DefaultCompletionToken>
399 Client& connection,
400 const NodeId& id,
401 bool isAbstract,
402 CompletionToken&& token = DefaultCompletionToken()
403) {
404 return detail::writeAttributeAsyncImpl<AttributeId::IsAbstract>(
405 connection, id, isAbstract, std::forward<CompletionToken>(token)
406 );
407}
408
409/**
410 * Read the AttributeId::Symmetric attribute of a node.
411 * @param connection Instance of type Client (or Server)
412 * @param id Node to read
413 * @ingroup Read
414 */
415template <typename T>
416inline Result<bool> readSymmetric(T& connection, const NodeId& id) noexcept {
417 return detail::readAttributeImpl<AttributeId::Symmetric>(connection, id);
418}
419
420/**
421 * Asynchronously read the AttributeId::Symmetric attribute of a node.
422 * @copydetails readSymmetric
423 * @param token @completiontoken{void(Result<bool>)}
424 * @ingroup Read
425 */
426template <typename CompletionToken = DefaultCompletionToken>
428 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
429) {
430 return detail::readAttributeAsyncImpl<AttributeId::Symmetric>(
431 connection, id, std::forward<CompletionToken>(token)
432 );
433}
434
435/**
436 * Write the AttributeId::Symmetric attribute of a node.
437 * @param connection Instance of type Client (or Server)
438 * @param id Node to write
439 * @param symmetric Value to write
440 * @ingroup Write
441 */
442template <typename T>
443inline Result<void> writeSymmetric(T& connection, const NodeId& id, bool symmetric) noexcept {
444 return detail::writeAttributeImpl<AttributeId::Symmetric>(connection, id, symmetric);
445}
446
447/**
448 * Asynchronously write the AttributeId::Symmetric attribute of a node.
449 * @copydetails writeSymmetric
450 * @param token @completiontoken{void(Result<void>)}
451 * @ingroup Write
452 */
453template <typename CompletionToken = DefaultCompletionToken>
455 Client& connection,
456 const NodeId& id,
457 bool symmetric,
458 CompletionToken&& token = DefaultCompletionToken()
459) {
460 return detail::writeAttributeAsyncImpl<AttributeId::Symmetric>(
461 connection, id, symmetric, std::forward<CompletionToken>(token)
462 );
463}
464
465/**
466 * Read the AttributeId::InverseName attribute of a node.
467 * @param connection Instance of type Client (or Server)
468 * @param id Node to read
469 * @ingroup Read
470 */
471template <typename T>
472inline Result<LocalizedText> readInverseName(T& connection, const NodeId& id) noexcept {
473 return detail::readAttributeImpl<AttributeId::InverseName>(connection, id);
474}
475
476/**
477 * Asynchronously read the AttributeId::InverseName attribute of a node.
478 * @copydetails readInverseName
479 * @param token @completiontoken{void(Result<LocalizedText>&)}
480 * @ingroup Read
481 */
482template <typename CompletionToken = DefaultCompletionToken>
484 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
485) {
486 return detail::readAttributeAsyncImpl<AttributeId::InverseName>(
487 connection, id, std::forward<CompletionToken>(token)
488 );
489}
490
491/**
492 * Write the AttributeId::InverseName attribute of a node.
493 * @param connection Instance of type Client (or Server)
494 * @param id Node to write
495 * @param inverseName Value to write
496 * @ingroup Write
497 */
498template <typename T>
500 T& connection, const NodeId& id, const LocalizedText& inverseName
501) noexcept {
502 return detail::writeAttributeImpl<AttributeId::InverseName>(connection, id, inverseName);
503}
504
505/**
506 * Asynchronously write the AttributeId::InverseName attribute of a node.
507 * @copydetails writeInverseName
508 * @param token @completiontoken{void(Result<void>)}
509 * @ingroup Write
510 */
511template <typename CompletionToken = DefaultCompletionToken>
513 Client& connection,
514 const NodeId& id,
515 const LocalizedText& inverseName,
516 CompletionToken&& token = DefaultCompletionToken()
517) {
518 return detail::writeAttributeAsyncImpl<AttributeId::InverseName>(
519 connection, id, inverseName, std::forward<CompletionToken>(token)
520 );
521}
522
523/**
524 * Read the AttributeId::ContainsNoLoops attribute of a node.
525 * @param connection Instance of type Client (or Server)
526 * @param id Node to read
527 * @ingroup Read
528 */
529template <typename T>
530inline Result<bool> readContainsNoLoops(T& connection, const NodeId& id) noexcept {
531 return detail::readAttributeImpl<AttributeId::ContainsNoLoops>(connection, id);
532}
533
534/**
535 * Asynchronously read the AttributeId::ContainsNoLoops attribute of a node.
536 * @copydetails readContainsNoLoops
537 * @param token @completiontoken{void(Result<bool>&)}
538 * @ingroup Read
539 */
540template <typename CompletionToken = DefaultCompletionToken>
542 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
543) {
544 return detail::readAttributeAsyncImpl<AttributeId::ContainsNoLoops>(
545 connection, id, std::forward<CompletionToken>(token)
546 );
547}
548
549/**
550 * Write the AttributeId::ContainsNoLoops attribute of a node.
551 * @param connection Instance of type Client (or Server)
552 * @param id Node to write
553 * @param containsNoLoops Value to write
554 * @ingroup Write
555 */
556template <typename T>
558 T& connection, const NodeId& id, const bool& containsNoLoops
559) noexcept {
560 return detail::writeAttributeImpl<AttributeId::ContainsNoLoops>(
561 connection, id, containsNoLoops
562 );
563}
564
565/**
566 * Asynchronously write the AttributeId::ContainsNoLoops attribute of a node.
567 * @copydetails writeContainsNoLoops
568 * @param token @completiontoken{void(Result<void>)}
569 * @ingroup Write
570 */
571template <typename CompletionToken = DefaultCompletionToken>
573 Client& connection,
574 const NodeId& id,
575 const bool& containsNoLoops,
576 CompletionToken&& token = DefaultCompletionToken()
577) {
578 return detail::writeAttributeAsyncImpl<AttributeId::ContainsNoLoops>(
579 connection, id, containsNoLoops, std::forward<CompletionToken>(token)
580 );
581}
582
583/**
584 * Read the AttributeId::EventNotifier attribute of a node.
585 * @param connection Instance of type Client (or Server)
586 * @param id Node to read
587 * @ingroup Read
588 */
589template <typename T>
590inline Result<Bitmask<EventNotifier>> readEventNotifier(T& connection, const NodeId& id) noexcept {
591 return detail::readAttributeImpl<AttributeId::EventNotifier>(connection, id);
592}
593
594/**
595 * Asynchronously read the AttributeId::EventNotifier attribute of a node.
596 * @copydetails readEventNotifier
597 * @param token @completiontoken{void(Result<Bitmask<EventNotifier>>)}
598 * @ingroup Read
599 */
600template <typename CompletionToken = DefaultCompletionToken>
602 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
603) {
604 return detail::readAttributeAsyncImpl<AttributeId::EventNotifier>(
605 connection, id, std::forward<CompletionToken>(token)
606 );
607}
608
609/**
610 * Write the AttributeId::EventNotifier attribute of a node.
611 * @param connection Instance of type Client (or Server)
612 * @param id Node to write
613 * @param eventNotifier Value to write
614 * @ingroup Write
615 */
616template <typename T>
618 T& connection, const NodeId& id, Bitmask<EventNotifier> eventNotifier
619) noexcept {
620 return detail::writeAttributeImpl<AttributeId::EventNotifier>(connection, id, eventNotifier);
621}
622
623/**
624 * Asynchronously write the AttributeId::EventNotifier attribute of a node.
625 * @copydetails writeEventNotifier
626 * @param token @completiontoken{void(Result<void>)}
627 * @ingroup Write
628 */
629template <typename CompletionToken = DefaultCompletionToken>
631 Client& connection,
632 const NodeId& id,
633 Bitmask<EventNotifier> eventNotifier,
634 CompletionToken&& token = DefaultCompletionToken()
635) {
636 return detail::writeAttributeAsyncImpl<AttributeId::EventNotifier>(
637 connection, id, eventNotifier, std::forward<CompletionToken>(token)
638 );
639}
640
641/**
642 * Read the AttributeId::Value attribute of a node.
643 * @param connection Instance of type Client (or Server)
644 * @param id Node to read
645 * @ingroup Read
646 */
647template <typename T>
648inline Result<Variant> readValue(T& connection, const NodeId& id) noexcept {
649 return detail::readAttributeImpl<AttributeId::Value>(connection, id);
650}
651
652/**
653 * Asynchronously read the AttributeId::Value attribute of a node.
654 * @copydetails readValue
655 * @param token @completiontoken{void(Result<Variant>&)}
656 * @ingroup Read
657 */
658template <typename CompletionToken = DefaultCompletionToken>
659inline auto readValueAsync(
660 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
661) {
662 return detail::readAttributeAsyncImpl<AttributeId::Value>(
663 connection, id, std::forward<CompletionToken>(token)
664 );
665}
666
667/**
668 * Write the AttributeId::Value attribute of a node.
669 * @param connection Instance of type Client (or Server)
670 * @param id Node to write
671 * @param value Value to write
672 * @ingroup Write
673 */
674template <typename T>
675inline Result<void> writeValue(T& connection, const NodeId& id, const Variant& value) noexcept {
676 return detail::writeAttributeImpl<AttributeId::Value>(connection, id, value);
677}
678
679/**
680 * Asynchronously write the AttributeId::Value attribute of a node.
681 * @copydetails writeValue
682 * @param token @completiontoken{void(Result<void>)}
683 * @ingroup Write
684 */
685template <typename CompletionToken = DefaultCompletionToken>
686inline auto writeValueAsync(
687 Client& connection,
688 const NodeId& id,
689 const Variant& value,
690 CompletionToken&& token = DefaultCompletionToken()
691) {
692 return detail::writeAttributeAsyncImpl<AttributeId::Value>(
693 connection, id, value, std::forward<CompletionToken>(token)
694 );
695}
696
697/**
698 * Read the AttributeId::DataType attribute of a node.
699 * @param connection Instance of type Client (or Server)
700 * @param id Node to read
701 * @ingroup Read
702 */
703template <typename T>
704inline Result<NodeId> readDataType(T& connection, const NodeId& id) noexcept {
705 return detail::readAttributeImpl<AttributeId::DataType>(connection, id);
706}
707
708/**
709 * Asynchronously read the AttributeId::DataType attribute of a node.
710 * @copydetails readDataType
711 * @param token @completiontoken{void(Result<NodeId>&)}
712 * @ingroup Read
713 */
714template <typename CompletionToken = DefaultCompletionToken>
716 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
717) {
718 return detail::readAttributeAsyncImpl<AttributeId::DataType>(
719 connection, id, std::forward<CompletionToken>(token)
720 );
721}
722
723/**
724 * Write the AttributeId::DataType attribute of a node.
725 * @param connection Instance of type Client (or Server)
726 * @param id Node to write
727 * @param dataType Value to write
728 * @ingroup Write
729 */
730template <typename T>
732 T& connection, const NodeId& id, const NodeId& dataType
733) noexcept {
734 return detail::writeAttributeImpl<AttributeId::DataType>(connection, id, dataType);
735}
736
737/**
738 * Asynchronously write the AttributeId::DataType attribute of a node.
739 * @copydetails writeDataType
740 * @param token @completiontoken{void(Result<void>)}
741 * @ingroup Write
742 */
743template <typename CompletionToken = DefaultCompletionToken>
745 Client& connection,
746 const NodeId& id,
747 const NodeId& dataType,
748 CompletionToken&& token = DefaultCompletionToken()
749) {
750 return detail::writeAttributeAsyncImpl<AttributeId::DataType>(
751 connection, id, dataType, std::forward<CompletionToken>(token)
752 );
753}
754
755/**
756 * Read the AttributeId::ValueRank attribute of a node.
757 * @param connection Instance of type Client (or Server)
758 * @param id Node to read
759 * @ingroup Read
760 */
761template <typename T>
762inline Result<ValueRank> readValueRank(T& connection, const NodeId& id) noexcept {
763 return detail::readAttributeImpl<AttributeId::ValueRank>(connection, id);
764}
765
766/**
767 * Asynchronously read the AttributeId::ValueRank attribute of a node.
768 * @copydetails readValueRank
769 * @param token @completiontoken{void(Result<ValueRank>)}
770 * @ingroup Read
771 */
772template <typename CompletionToken = DefaultCompletionToken>
774 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
775) {
776 return detail::readAttributeAsyncImpl<AttributeId::ValueRank>(
777 connection, id, std::forward<CompletionToken>(token)
778 );
779}
780
781/**
782 * Write the AttributeId::ValueRank attribute of a node.
783 * @param connection Instance of type Client (or Server)
784 * @param id Node to write
785 * @param valueRank Value to write
786 * @ingroup Write
787 */
788template <typename T>
789inline Result<void> writeValueRank(T& connection, const NodeId& id, ValueRank valueRank) noexcept {
790 return detail::writeAttributeImpl<AttributeId::ValueRank>(connection, id, valueRank);
791}
792
793/**
794 * Asynchronously write the AttributeId::ValueRank attribute of a node.
795 * @copydetails writeValueRank
796 * @param token @completiontoken{void(Result<void>)}
797 * @ingroup Write
798 */
799template <typename CompletionToken = DefaultCompletionToken>
801 Client& connection,
802 const NodeId& id,
803 ValueRank valueRank,
804 CompletionToken&& token = DefaultCompletionToken()
805) {
806 return detail::writeAttributeAsyncImpl<AttributeId::ValueRank>(
807 connection, id, valueRank, std::forward<CompletionToken>(token)
808 );
809}
810
811/**
812 * Read the AttributeId::ArrayDimensions attribute of a node.
813 * @param connection Instance of type Client (or Server)
814 * @param id Node to read
815 * @ingroup Read
816 */
817template <typename T>
818inline Result<std::vector<uint32_t>> readArrayDimensions(T& connection, const NodeId& id) noexcept {
819 return detail::readAttributeImpl<AttributeId::ArrayDimensions>(connection, id);
820}
821
822/**
823 * Asynchronously read the AttributeId::ArrayDimensions attribute of a node.
824 * @copydetails readArrayDimensions
825 * @param token @completiontoken{void(Result<std::vector<uint32_t>>&)}
826 * @ingroup Read
827 */
828template <typename CompletionToken = DefaultCompletionToken>
830 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
831) {
832 return detail::readAttributeAsyncImpl<AttributeId::ArrayDimensions>(
833 connection, id, std::forward<CompletionToken>(token)
834 );
835}
836
837/**
838 * Write the AttributeId::ArrayDimensions attribute of a node.
839 * @param connection Instance of type Client (or Server)
840 * @param id Node to write
841 * @param arrayDimensions Value to write
842 * @ingroup Write
843 */
844template <typename T>
846 T& connection, const NodeId& id, Span<const uint32_t> arrayDimensions
847) noexcept {
848 return detail::writeAttributeImpl<AttributeId::ArrayDimensions>(
849 connection, id, arrayDimensions
850 );
851}
852
853/**
854 * Asynchronously write the AttributeId::ArrayDimensions attribute of a node.
855 * @copydetails writeArrayDimensions
856 * @param token @completiontoken{void(Result<void>)}
857 * @ingroup Write
858 */
859template <typename CompletionToken = DefaultCompletionToken>
861 Client& connection,
862 const NodeId& id,
863 Span<const uint32_t> arrayDimensions,
864 CompletionToken&& token = DefaultCompletionToken()
865) {
866 return detail::writeAttributeAsyncImpl<AttributeId::ArrayDimensions>(
867 connection, id, arrayDimensions, std::forward<CompletionToken>(token)
868 );
869}
870
871/**
872 * Read the AttributeId::AccessLevel attribute of a node.
873 * @param connection Instance of type Client (or Server)
874 * @param id Node to read
875 * @ingroup Read
876 */
877template <typename T>
878inline Result<Bitmask<AccessLevel>> readAccessLevel(T& connection, const NodeId& id) noexcept {
879 return detail::readAttributeImpl<AttributeId::AccessLevel>(connection, id);
880}
881
882/**
883 * Asynchronously read the AttributeId::AccessLevel attribute of a node.
884 * @copydetails readAccessLevel
885 * @param token @completiontoken{void(Result<Bitmask<AccessLevel>>)}
886 * @ingroup Read
887 */
888template <typename CompletionToken = DefaultCompletionToken>
890 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
891) {
892 return detail::readAttributeAsyncImpl<AttributeId::AccessLevel>(
893 connection, id, std::forward<CompletionToken>(token)
894 );
895}
896
897/**
898 * Write the AttributeId::AccessLevel attribute of a node.
899 * @param connection Instance of type Client (or Server)
900 * @param id Node to write
901 * @param accessLevel Value to write
902 * @ingroup Write
903 */
904template <typename T>
906 T& connection, const NodeId& id, Bitmask<AccessLevel> accessLevel
907) noexcept {
908 return detail::writeAttributeImpl<AttributeId::AccessLevel>(connection, id, accessLevel);
909}
910
911/**
912 * Asynchronously write the AttributeId::AccessLevel attribute of a node.
913 * @copydetails writeAccessLevel
914 * @param token @completiontoken{void(Result<void>)}
915 * @ingroup Write
916 */
917template <typename CompletionToken = DefaultCompletionToken>
919 Client& connection,
920 const NodeId& id,
921 Bitmask<AccessLevel> accessLevel,
922 CompletionToken&& token = DefaultCompletionToken()
923) {
924 return detail::writeAttributeAsyncImpl<AttributeId::AccessLevel>(
925 connection, id, accessLevel, std::forward<CompletionToken>(token)
926 );
927}
928
929/**
930 * Read the AttributeId::UserAccessLevel attribute of a node.
931 * @param connection Instance of type Client (or Server)
932 * @param id Node to read
933 * @ingroup Read
934 */
935template <typename T>
936inline Result<Bitmask<AccessLevel>> readUserAccessLevel(T& connection, const NodeId& id) noexcept {
937 return detail::readAttributeImpl<AttributeId::UserAccessLevel>(connection, id);
938}
939
940/**
941 * Asynchronously read the AttributeId::UserAccessLevel attribute of a node.
942 * @copydetails readUserAccessLevel
943 * @param token @completiontoken{void(Result<Bitmask<AccessLevel>>)}
944 * @ingroup Read
945 */
946template <typename CompletionToken = DefaultCompletionToken>
948 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
949) {
950 return detail::readAttributeAsyncImpl<AttributeId::UserAccessLevel>(
951 connection, id, std::forward<CompletionToken>(token)
952 );
953}
954
955/**
956 * Write the AttributeId::UserAccessLevel attribute of a node.
957 * @param connection Instance of type Client (or Server)
958 * @param id Node to write
959 * @param userAccessLevel Value to write
960 * @ingroup Write
961 */
962template <typename T>
964 T& connection, const NodeId& id, Bitmask<AccessLevel> userAccessLevel
965) noexcept {
966 return detail::writeAttributeImpl<AttributeId::UserAccessLevel>(
967 connection, id, userAccessLevel
968 );
969}
970
971/**
972 * Asynchronously write the AttributeId::UserAccessLevel attribute of a node.
973 * @copydetails writeUserAccessLevel
974 * @param token @completiontoken{void(Result<void>)}
975 * @ingroup Write
976 */
977template <typename CompletionToken = DefaultCompletionToken>
979 Client& connection,
980 const NodeId& id,
981 Bitmask<AccessLevel> userAccessLevel,
982 CompletionToken&& token = DefaultCompletionToken()
983) {
984 return detail::writeAttributeAsyncImpl<AttributeId::UserAccessLevel>(
985 connection, id, userAccessLevel, std::forward<CompletionToken>(token)
986 );
987}
988
989/**
990 * Read the AttributeId::MinimumSamplingInterval attribute of a node.
991 * @param connection Instance of type Client (or Server)
992 * @param id Node to read
993 * @ingroup Read
994 */
995template <typename T>
996inline Result<double> readMinimumSamplingInterval(T& connection, const NodeId& id) noexcept {
997 return detail::readAttributeImpl<AttributeId::MinimumSamplingInterval>(connection, id);
998}
999
1000/**
1001 * Asynchronously read the AttributeId::MinimumSamplingInterval attribute of a node.
1002 * @copydetails readMinimumSamplingInterval
1003 * @param token @completiontoken{void(Result<double>)}
1004 * @ingroup Read
1005 */
1006template <typename CompletionToken = DefaultCompletionToken>
1008 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
1009) {
1010 return detail::readAttributeAsyncImpl<AttributeId::MinimumSamplingInterval>(
1011 connection, id, std::forward<CompletionToken>(token)
1012 );
1013}
1014
1015/**
1016 * Write the AttributeId::MinimumSamplingInterval attribute of a node.
1017 * @param connection Instance of type Client (or Server)
1018 * @param id Node to write
1019 * @param minimumSamplingInterval Value to write
1020 * @ingroup Write
1021 */
1022template <typename T>
1024 T& connection, const NodeId& id, double minimumSamplingInterval
1025) noexcept {
1026 return detail::writeAttributeImpl<AttributeId::MinimumSamplingInterval>(
1027 connection, id, minimumSamplingInterval
1028 );
1029}
1030
1031/**
1032 * Asynchronously write the AttributeId::MinimumSamplingInterval attribute of a node.
1033 * @copydetails writeMinimumSamplingInterval
1034 * @param token @completiontoken{void(Result<void>)}
1035 * @ingroup Write
1036 */
1037template <typename CompletionToken = DefaultCompletionToken>
1039 Client& connection,
1040 const NodeId& id,
1041 double minimumSamplingInterval,
1042 CompletionToken&& token = DefaultCompletionToken()
1043) {
1044 return detail::writeAttributeAsyncImpl<AttributeId::MinimumSamplingInterval>(
1045 connection, id, minimumSamplingInterval, std::forward<CompletionToken>(token)
1046 );
1047}
1048
1049/**
1050 * Read the AttributeId::Historizing attribute of a node.
1051 * @param connection Instance of type Client (or Server)
1052 * @param id Node to read
1053 * @ingroup Read
1054 */
1055template <typename T>
1056inline Result<bool> readHistorizing(T& connection, const NodeId& id) noexcept {
1057 return detail::readAttributeImpl<AttributeId::Historizing>(connection, id);
1058}
1059
1060/**
1061 * Asynchronously read the AttributeId::Historizing attribute of a node.
1062 * @copydetails readHistorizing
1063 * @param token @completiontoken{void(Result<bool>)}
1064 * @ingroup Read
1065 */
1066template <typename CompletionToken = DefaultCompletionToken>
1068 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
1069) {
1070 return detail::readAttributeAsyncImpl<AttributeId::Historizing>(
1071 connection, id, std::forward<CompletionToken>(token)
1072 );
1073}
1074
1075/**
1076 * Write the AttributeId::Historizing attribute of a node.
1077 * @param connection Instance of type Client (or Server)
1078 * @param id Node to write
1079 * @param historizing Value to write
1080 * @ingroup Write
1081 */
1082template <typename T>
1083inline Result<void> writeHistorizing(T& connection, const NodeId& id, bool historizing) noexcept {
1084 return detail::writeAttributeImpl<AttributeId::Historizing>(connection, id, historizing);
1085}
1086
1087/**
1088 * Asynchronously write the AttributeId::Historizing attribute of a node.
1089 * @copydetails writeHistorizing
1090 * @param token @completiontoken{void(Result<void>)}
1091 * @ingroup Write
1092 */
1093template <typename CompletionToken = DefaultCompletionToken>
1095 Client& connection,
1096 const NodeId& id,
1097 bool historizing,
1098 CompletionToken&& token = DefaultCompletionToken()
1099) {
1100 return detail::writeAttributeAsyncImpl<AttributeId::Historizing>(
1101 connection, id, historizing, std::forward<CompletionToken>(token)
1102 );
1103}
1104
1105/**
1106 * Read the AttributeId::Executable attribute of a node.
1107 * @param connection Instance of type Client (or Server)
1108 * @param id Node to read
1109 * @ingroup Read
1110 */
1111template <typename T>
1112inline Result<bool> readExecutable(T& connection, const NodeId& id) noexcept {
1113 return detail::readAttributeImpl<AttributeId::Executable>(connection, id);
1114}
1115
1116/**
1117 * Asynchronously read the AttributeId::Executable attribute of a node.
1118 * @copydetails readExecutable
1119 * @param token @completiontoken{void(Result<bool>)}
1120 * @ingroup Read
1121 */
1122template <typename CompletionToken = DefaultCompletionToken>
1124 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
1125) {
1126 return detail::readAttributeAsyncImpl<AttributeId::Executable>(
1127 connection, id, std::forward<CompletionToken>(token)
1128 );
1129}
1130
1131/**
1132 * Write the AttributeId::Executable attribute of a node.
1133 * @param connection Instance of type Client (or Server)
1134 * @param id Node to write
1135 * @param executable Value to write
1136 * @ingroup Write
1137 */
1138template <typename T>
1139inline Result<void> writeExecutable(T& connection, const NodeId& id, bool executable) noexcept {
1140 return detail::writeAttributeImpl<AttributeId::Executable>(connection, id, executable);
1141}
1142
1143/**
1144 * Asynchronously write the AttributeId::Executable attribute of a node.
1145 * @copydetails writeExecutable
1146 * @param token @completiontoken{void(Result<void>)}
1147 * @ingroup Write
1148 */
1149template <typename CompletionToken = DefaultCompletionToken>
1151 Client& connection,
1152 const NodeId& id,
1153 bool executable,
1154 CompletionToken&& token = DefaultCompletionToken()
1155) {
1156 return detail::writeAttributeAsyncImpl<AttributeId::Executable>(
1157 connection, id, executable, std::forward<CompletionToken>(token)
1158 );
1159}
1160
1161/**
1162 * Read the AttributeId::UserExecutable attribute of a node.
1163 * @param connection Instance of type Client (or Server)
1164 * @param id Node to read
1165 * @ingroup Read
1166 */
1167template <typename T>
1168inline Result<bool> readUserExecutable(T& connection, const NodeId& id) noexcept {
1169 return detail::readAttributeImpl<AttributeId::UserExecutable>(connection, id);
1170}
1171
1172/**
1173 * Asynchronously read the AttributeId::UserExecutable attribute of a node.
1174 * @copydetails readUserExecutable
1175 * @param token @completiontoken{void(Result<bool>)}
1176 * @ingroup Read
1177 */
1178template <typename CompletionToken = DefaultCompletionToken>
1180 Client& connection, const NodeId& id, CompletionToken&& token = DefaultCompletionToken()
1181) {
1182 return detail::readAttributeAsyncImpl<AttributeId::UserExecutable>(
1183 connection, id, std::forward<CompletionToken>(token)
1184 );
1185}
1186
1187/**
1188 * Write the AttributeId::UserExecutable attribute of a node.
1189 * @param connection Instance of type Client (or Server)
1190 * @param id Node to write
1191 * @param userExecutable Value to write
1192 * @ingroup Write
1193 */
1194template <typename T>
1196 T& connection, const NodeId& id, bool userExecutable
1197) noexcept {
1198 return detail::writeAttributeImpl<AttributeId::UserExecutable>(connection, id, userExecutable);
1199}
1200
1201/**
1202 * Asynchronously write the AttributeId::UserExecutable attribute of a node.
1203 * @copydetails writeUserExecutable
1204 * @param token @completiontoken{void(Result<void>)}
1205 * @ingroup Write
1206 */
1207template <typename CompletionToken = DefaultCompletionToken>
1209 Client& connection,
1210 const NodeId& id,
1211 bool userExecutable,
1212 CompletionToken&& token = DefaultCompletionToken()
1213) {
1214 return detail::writeAttributeAsyncImpl<AttributeId::UserExecutable>(
1215 connection, id, userExecutable, std::forward<CompletionToken>(token)
1216 );
1217}
1218
1219} // namespace opcua::services
Bitmask using (scoped) enums.
Definition Bitmask.h:108
High-level client class.
Definition Client.h:60
UA_LocalizedText wrapper class.
Definition Builtin.h:288
UA_NodeId wrapper class.
Definition NodeId.h:36
UA_QualifiedName wrapper class.
Definition Builtin.h:253
The template class Result encapsulates a StatusCode and optionally a value.
Definition Result.h:53
View to a contiguous sequence of objects, similar to std::span in C++20.
Definition Span.h:27
UA_Variant wrapper class.
Definition Variant.h:46
UseFutureToken DefaultCompletionToken
Default completion token for async operations.
Definition async.h:147
Result< bool > readContainsNoLoops(T &connection, const NodeId &id) noexcept
Read the AttributeId::ContainsNoLoops attribute of a node.
Result< double > readMinimumSamplingInterval(T &connection, const NodeId &id) noexcept
Read the AttributeId::MinimumSamplingInterval attribute of a node.
auto readUserWriteMaskAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::UserWriteMask attribute of a node.
Result< NodeId > readDataType(T &connection, const NodeId &id) noexcept
Read the AttributeId::DataType attribute of a node.
Result< bool > readUserExecutable(T &connection, const NodeId &id) noexcept
Read the AttributeId::UserExecutable attribute of a node.
Result< LocalizedText > readInverseName(T &connection, const NodeId &id) noexcept
Read the AttributeId::InverseName attribute of a node.
Result< NodeClass > readNodeClass(T &connection, const NodeId &id) noexcept
Read the AttributeId::NodeClass attribute of a node.
Result< Bitmask< EventNotifier > > readEventNotifier(T &connection, const NodeId &id) noexcept
Read the AttributeId::EventNotifier attribute of a node.
auto readNodeClassAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::NodeClass attribute of a node.
auto readValueRankAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::ValueRank attribute of a node.
auto readWriteMaskAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::WriteMask attribute of a node.
Result< NodeId > readNodeId(T &connection, const NodeId &id) noexcept
Read the AttributeId::NodeId attribute of a node.
auto readSymmetricAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::Symmetric attribute of a node.
Result< Bitmask< WriteMask > > readUserWriteMask(T &connection, const NodeId &id) noexcept
Read the AttributeId::UserWriteMask attribute of a node.
Result< bool > readHistorizing(T &connection, const NodeId &id) noexcept
Read the AttributeId::Historizing attribute of a node.
auto readUserAccessLevelAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::UserAccessLevel attribute of a node.
Result< LocalizedText > readDisplayName(T &connection, const NodeId &id) noexcept
Read the AttributeId::DisplayName attribute of a node.
auto readValueAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::Value attribute of a node.
Result< QualifiedName > readBrowseName(T &connection, const NodeId &id) noexcept
Read the AttributeId::BrowseName attribute of a node.
auto readInverseNameAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::InverseName attribute of a node.
auto readDescriptionAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::Description attribute of a node.
auto readIsAbstractAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::IsAbstract attribute of a node.
auto readContainsNoLoopsAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::ContainsNoLoops attribute of a node.
Result< bool > readExecutable(T &connection, const NodeId &id) noexcept
Read the AttributeId::Executable attribute of a node.
auto readDataTypeAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::DataType attribute of a node.
auto readNodeIdAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::NodeId attribute of a node.
auto readAccessLevelAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::AccessLevel attribute of a node.
auto readHistorizingAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::Historizing attribute of a node.
Result< Bitmask< WriteMask > > readWriteMask(T &connection, const NodeId &id) noexcept
Read the AttributeId::WriteMask attribute of a node.
Result< LocalizedText > readDescription(T &connection, const NodeId &id) noexcept
Read the AttributeId::Description attribute of a node.
Result< Variant > readValue(T &connection, const NodeId &id) noexcept
Read the AttributeId::Value attribute of a node.
auto readArrayDimensionsAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::ArrayDimensions attribute of a node.
auto readDisplayNameAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::DisplayName attribute of a node.
Result< ValueRank > readValueRank(T &connection, const NodeId &id) noexcept
Read the AttributeId::ValueRank attribute of a node.
auto readEventNotifierAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::EventNotifier attribute of a node.
auto readExecutableAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::Executable attribute of a node.
auto readMinimumSamplingIntervalAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::MinimumSamplingInterval attribute of a node.
Result< bool > readIsAbstract(T &connection, const NodeId &id) noexcept
Read the AttributeId::IsAbstract attribute of a node.
auto readBrowseNameAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::BrowseName attribute of a node.
Result< bool > readSymmetric(T &connection, const NodeId &id) noexcept
Read the AttributeId::Symmetric attribute of a node.
Result< Bitmask< AccessLevel > > readUserAccessLevel(T &connection, const NodeId &id) noexcept
Read the AttributeId::UserAccessLevel attribute of a node.
Result< Bitmask< AccessLevel > > readAccessLevel(T &connection, const NodeId &id) noexcept
Read the AttributeId::AccessLevel attribute of a node.
auto readUserExecutableAsync(Client &connection, const NodeId &id, CompletionToken &&token=DefaultCompletionToken())
Asynchronously read the AttributeId::UserExecutable attribute of a node.
Result< std::vector< uint32_t > > readArrayDimensions(T &connection, const NodeId &id) noexcept
Read the AttributeId::ArrayDimensions attribute of a node.
auto writeDisplayNameAsync(Client &connection, const NodeId &id, const LocalizedText &displayName, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::DisplayName attribute of a node.
auto writeAccessLevelAsync(Client &connection, const NodeId &id, Bitmask< AccessLevel > accessLevel, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::AccessLevel attribute of a node.
auto writeWriteMaskAsync(Client &connection, const NodeId &id, Bitmask< WriteMask > writeMask, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::WriteMask attribute of a node.
auto writeUserWriteMaskAsync(Client &connection, const NodeId &id, Bitmask< WriteMask > userWriteMask, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::UserWriteMask attribute of a node.
Result< void > writeEventNotifier(T &connection, const NodeId &id, Bitmask< EventNotifier > eventNotifier) noexcept
Write the AttributeId::EventNotifier attribute of a node.
Result< void > writeMinimumSamplingInterval(T &connection, const NodeId &id, double minimumSamplingInterval) noexcept
Write the AttributeId::MinimumSamplingInterval attribute of a node.
Result< void > writeHistorizing(T &connection, const NodeId &id, bool historizing) noexcept
Write the AttributeId::Historizing attribute of a node.
Result< void > writeDescription(T &connection, const NodeId &id, const LocalizedText &description) noexcept
Write the AttributeId::Description attribute of a node.
auto writeUserAccessLevelAsync(Client &connection, const NodeId &id, Bitmask< AccessLevel > userAccessLevel, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::UserAccessLevel attribute of a node.
Result< void > writeAccessLevel(T &connection, const NodeId &id, Bitmask< AccessLevel > accessLevel) noexcept
Write the AttributeId::AccessLevel attribute of a node.
Result< void > writeContainsNoLoops(T &connection, const NodeId &id, const bool &containsNoLoops) noexcept
Write the AttributeId::ContainsNoLoops attribute of a node.
Result< void > writeValueRank(T &connection, const NodeId &id, ValueRank valueRank) noexcept
Write the AttributeId::ValueRank attribute of a node.
Result< void > writeBrowseName(T &connection, const NodeId &id, const QualifiedName &browseName) noexcept
Write the AttributeId::BrowseName attribute of a node.
Result< void > writeWriteMask(T &connection, const NodeId &id, Bitmask< WriteMask > writeMask) noexcept
Write the AttributeId::WriteMask attribute of a node.
auto writeInverseNameAsync(Client &connection, const NodeId &id, const LocalizedText &inverseName, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::InverseName attribute of a node.
auto writeIsAbstractAsync(Client &connection, const NodeId &id, bool isAbstract, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::IsAbstract attribute of a node.
Result< void > writeDisplayName(T &connection, const NodeId &id, const LocalizedText &displayName) noexcept
Write the AttributeId::DisplayName attribute of a node.
auto writeArrayDimensionsAsync(Client &connection, const NodeId &id, Span< const uint32_t > arrayDimensions, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::ArrayDimensions attribute of a node.
auto writeValueAsync(Client &connection, const NodeId &id, const Variant &value, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::Value attribute of a node.
auto writeSymmetricAsync(Client &connection, const NodeId &id, bool symmetric, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::Symmetric attribute of a node.
Result< void > writeUserAccessLevel(T &connection, const NodeId &id, Bitmask< AccessLevel > userAccessLevel) noexcept
Write the AttributeId::UserAccessLevel attribute of a node.
auto writeDescriptionAsync(Client &connection, const NodeId &id, const LocalizedText &description, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::Description attribute of a node.
auto writeBrowseNameAsync(Client &connection, const NodeId &id, const QualifiedName &browseName, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::BrowseName attribute of a node.
auto writeEventNotifierAsync(Client &connection, const NodeId &id, Bitmask< EventNotifier > eventNotifier, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::EventNotifier attribute of a node.
auto writeUserExecutableAsync(Client &connection, const NodeId &id, bool userExecutable, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::UserExecutable attribute of a node.
auto writeContainsNoLoopsAsync(Client &connection, const NodeId &id, const bool &containsNoLoops, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::ContainsNoLoops attribute of a node.
auto writeMinimumSamplingIntervalAsync(Client &connection, const NodeId &id, double minimumSamplingInterval, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::MinimumSamplingInterval attribute of a node.
Result< void > writeDataType(T &connection, const NodeId &id, const NodeId &dataType) noexcept
Write the AttributeId::DataType attribute of a node.
Result< void > writeUserWriteMask(T &connection, const NodeId &id, Bitmask< WriteMask > userWriteMask) noexcept
Write the AttributeId::UserWriteMask attribute of a node.
Result< void > writeInverseName(T &connection, const NodeId &id, const LocalizedText &inverseName) noexcept
Write the AttributeId::InverseName attribute of a node.
Result< void > writeExecutable(T &connection, const NodeId &id, bool executable) noexcept
Write the AttributeId::Executable attribute of a node.
Result< void > writeArrayDimensions(T &connection, const NodeId &id, Span< const uint32_t > arrayDimensions) noexcept
Write the AttributeId::ArrayDimensions attribute of a node.
auto writeExecutableAsync(Client &connection, const NodeId &id, bool executable, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::Executable attribute of a node.
auto writeValueRankAsync(Client &connection, const NodeId &id, ValueRank valueRank, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::ValueRank attribute of a node.
Result< void > writeValue(T &connection, const NodeId &id, const Variant &value) noexcept
Write the AttributeId::Value attribute of a node.
Result< void > writeUserExecutable(T &connection, const NodeId &id, bool userExecutable) noexcept
Write the AttributeId::UserExecutable attribute of a node.
Result< void > writeIsAbstract(T &connection, const NodeId &id, bool isAbstract) noexcept
Write the AttributeId::IsAbstract attribute of a node.
Result< void > writeSymmetric(T &connection, const NodeId &id, bool symmetric) noexcept
Write the AttributeId::Symmetric attribute of a node.
auto writeHistorizingAsync(Client &connection, const NodeId &id, bool historizing, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::Historizing attribute of a node.
auto writeDataTypeAsync(Client &connection, const NodeId &id, const NodeId &dataType, CompletionToken &&token=DefaultCompletionToken())
Asynchronously write the AttributeId::DataType attribute of a node.
OPC UA services as free functions.
Definition Attribute.h:26
ValueRank
Value rank.
Definition Common.h:224