open62541 1.4.15
Open source implementation of OPC UA
Loading...
Searching...
No Matches
client_highlevel_async.h
Go to the documentation of this file.
1/** This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 *
5 * Copyright 2018 (c) Thomas Stalder, Blue Time Concept SA
6 * Copyright 2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer)
7 */
8
9#ifndef UA_CLIENT_HIGHLEVEL_ASYNC_H_
10#define UA_CLIENT_HIGHLEVEL_ASYNC_H_
11
12#include <open62541/client.h>
13
15
16
17
18typedef void
20 UA_Client *client, void *userdata,
21 UA_UInt32 requestId, UA_ReadResponse *rr);
22
24UA_Client_sendAsyncReadRequest(
25 UA_Client *client, UA_ReadRequest *request,
26 UA_ClientAsyncReadCallback readCallback,
27 void *userdata, UA_UInt32 *reqId) {
29 client, request, &UA_TYPES[UA_TYPES_READREQUEST],
31 &UA_TYPES[UA_TYPES_READRESPONSE], userdata, reqId);
32}
33
34typedef void
36 UA_Client *client, void *userdata,
37 UA_UInt32 requestId, UA_WriteResponse *wr);
38
40UA_Client_sendAsyncWriteRequest(
41 UA_Client *client, UA_WriteRequest *request,
42 UA_ClientAsyncWriteCallback writeCallback,
43 void *userdata, UA_UInt32 *reqId) {
45 client, request, &UA_TYPES[UA_TYPES_WRITEREQUEST],
46 (UA_ClientAsyncServiceCallback)writeCallback,
47 &UA_TYPES[UA_TYPES_WRITERESPONSE], userdata, reqId);
48}
49
50typedef void
52 UA_Client *client, void *userdata,
53 UA_UInt32 requestId, UA_BrowseResponse *wr);
54
56UA_Client_sendAsyncBrowseRequest(
57 UA_Client *client, UA_BrowseRequest *request,
58 UA_ClientAsyncBrowseCallback browseCallback,
59 void *userdata, UA_UInt32 *reqId) {
61 client, request, &UA_TYPES[UA_TYPES_BROWSEREQUEST],
62 (UA_ClientAsyncServiceCallback)browseCallback,
63 &UA_TYPES[UA_TYPES_BROWSERESPONSE], userdata, reqId);
64}
65
66typedef void
68 UA_Client *client, void *userdata,
69 UA_UInt32 requestId, UA_BrowseNextResponse *wr);
70
72UA_Client_sendAsyncBrowseNextRequest(
73 UA_Client *client, UA_BrowseNextRequest *request,
74 UA_ClientAsyncBrowseNextCallback browseNextCallback,
75 void *userdata, UA_UInt32 *reqId) {
77 client, request, &UA_TYPES[UA_TYPES_BROWSENEXTREQUEST],
78 (UA_ClientAsyncServiceCallback)browseNextCallback,
79 &UA_TYPES[UA_TYPES_BROWSENEXTRESPONSE], userdata, reqId);
80}
81
82
83typedef void
85 UA_Client *client, void *userdata, UA_UInt32 requestId,
86 UA_StatusCode status, void *result);
87
88
89
90/** Reading a single attribute */
91typedef void
93 UA_Client *client, void *userdata, UA_UInt32 requestId,
94 UA_StatusCode status, UA_DataValue *attribute);
95
98 UA_Client *client, const UA_ReadValueId *rvi,
99 UA_TimestampsToReturn timestampsToReturn,
101 void *userdata, UA_UInt32 *requestId);
102
103/** Read a single Value attribute */
104typedef void
106 UA_Client *client, void *userdata, UA_UInt32 requestId,
107 UA_StatusCode status, UA_DataValue *value);
108
111 UA_Client *client, const UA_NodeId nodeId,
113 void *userdata, UA_UInt32 *requestId);
114
115/** Read a single DataType attribute */
116typedef void
118 UA_Client *client, void *userdata, UA_UInt32 requestId,
119 UA_StatusCode status, UA_NodeId *dataType);
120
123 UA_Client *client, const UA_NodeId nodeId,
125 void *userdata, UA_UInt32 *requestId);
126
127/** Read a single ArrayDimensions attribute. If the status is good, the variant
128 * carries an UInt32 array. */
129typedef void
131 UA_Client *client, void *userdata, UA_UInt32 requestId,
132 UA_StatusCode status, UA_Variant *arrayDimensions);
133
136 UA_Client *client, const UA_NodeId nodeId,
138 void *userdata, UA_UInt32 *requestId);
139
140/** Read a single NodeClass attribute */
141typedef void
143 UA_Client *client, void *userdata, UA_UInt32 requestId,
144 UA_StatusCode status, UA_NodeClass *nodeClass);
145
148 UA_Client *client, const UA_NodeId nodeId,
150 void *userdata, UA_UInt32 *requestId);
151
152/** Read a single BrowseName attribute */
153typedef void
155 UA_Client *client, void *userdata, UA_UInt32 requestId,
156 UA_StatusCode status, UA_QualifiedName *browseName);
157
160 UA_Client *client, const UA_NodeId nodeId,
162 void *userdata, UA_UInt32 *requestId);
163
164/** Read a single DisplayName attribute */
165typedef void
167 UA_Client *client, void *userdata, UA_UInt32 requestId,
168 UA_StatusCode status, UA_LocalizedText *displayName);
169
172 UA_Client *client, const UA_NodeId nodeId,
174 void *userdata, UA_UInt32 *requestId);
175
176/** Read a single Description attribute */
177typedef void
179 UA_Client *client, void *userdata, UA_UInt32 requestId,
180 UA_StatusCode status, UA_LocalizedText *description);
181
184 UA_Client *client, const UA_NodeId nodeId,
186 void *userdata, UA_UInt32 *requestId);
187
188/** Read a single WriteMask attribute */
189typedef void
191 UA_Client *client, void *userdata, UA_UInt32 requestId,
192 UA_StatusCode status, UA_UInt32 *writeMask);
193
196 UA_Client *client, const UA_NodeId nodeId,
198 void *userdata, UA_UInt32 *requestId);
199
200/** Read a single UserWriteMask attribute */
201typedef void
203 UA_Client *client, void *userdata, UA_UInt32 requestId,
204 UA_StatusCode status, UA_UInt32 *writeMask);
205
208 UA_Client *client, const UA_NodeId nodeId,
210 void *userdata, UA_UInt32 *requestId);
211
212/** Read a single IsAbstract attribute */
213typedef void
215 UA_Client *client, void *userdata, UA_UInt32 requestId,
216 UA_StatusCode status, UA_Boolean *isAbstract);
217
220 UA_Client *client, const UA_NodeId nodeId,
222 void *userdata, UA_UInt32 *requestId);
223
224/** Read a single Symmetric attribute */
225typedef void
227 UA_Client *client, void *userdata, UA_UInt32 requestId,
228 UA_StatusCode status, UA_Boolean *symmetric);
229
232 UA_Client *client, const UA_NodeId nodeId,
234 void *userdata, UA_UInt32 *requestId);
235
236/** Read a single InverseName attribute */
237typedef void
239 UA_Client *client, void *userdata, UA_UInt32 requestId,
240 UA_StatusCode status, UA_LocalizedText *inverseName);
241
244 UA_Client *client, const UA_NodeId nodeId,
246 void *userdata, UA_UInt32 *requestId);
247
248/** Read a single ContainsNoLoops attribute */
249typedef void
251 UA_Client *client, void *userdata, UA_UInt32 requestId,
252 UA_StatusCode status, UA_Boolean *containsNoLoops);
253
256 UA_Client *client, const UA_NodeId nodeId,
258 void *userdata, UA_UInt32 *requestId);
259
260/** Read a single EventNotifier attribute */
261typedef void
263 UA_Client *client, void *userdata, UA_UInt32 requestId,
264 UA_StatusCode status, UA_Byte *eventNotifier);
265
268 UA_Client *client, const UA_NodeId nodeId,
270 void *userdata, UA_UInt32 *requestId);
271
272/** Read a single ValueRank attribute */
273typedef void
275 UA_Client *client, void *userdata, UA_UInt32 requestId,
276 UA_StatusCode status, UA_Int32 *valueRank);
277
280 UA_Client *client, const UA_NodeId nodeId,
282 void *userdata, UA_UInt32 *requestId);
283
284/** Read a single AccessLevel attribute */
285typedef void
287 UA_Client *client, void *userdata, UA_UInt32 requestId,
288 UA_StatusCode status, UA_Byte *accessLevel);
289
292 UA_Client *client, const UA_NodeId nodeId,
294 void *userdata, UA_UInt32 *requestId);
295
296/** Read a single AccessLevelEx attribute */
297typedef void
299 UA_Client *client, void *userdata, UA_UInt32 requestId,
300 UA_StatusCode status, UA_UInt32 *accessLevelEx);
301
304 UA_Client *client, const UA_NodeId nodeId,
306 void *userdata, UA_UInt32 *requestId);
307
308/** Read a single UserAccessLevel attribute */
309typedef void
311 UA_Client *client, void *userdata, UA_UInt32 requestId,
312 UA_StatusCode status, UA_Byte *userAccessLevel);
313
316 UA_Client *client, const UA_NodeId nodeId,
318 void *userdata, UA_UInt32 *requestId);
319
320/** Read a single MinimumSamplingInterval attribute */
321typedef void
323 UA_Client *client, void *userdata, UA_UInt32 requestId,
324 UA_StatusCode status, UA_Double *minimumSamplingInterval);
325
328 UA_Client *client, const UA_NodeId nodeId,
330 void *userdata, UA_UInt32 *requestId);
331
332/** Read a single Historizing attribute */
333typedef void
335 UA_Client *client, void *userdata, UA_UInt32 requestId,
336 UA_StatusCode status, UA_Boolean *historizing);
337
340 UA_Client *client, const UA_NodeId nodeId,
342 void *userdata, UA_UInt32 *requestId);
343
344/** Read a single Executable attribute */
345typedef void
347 UA_Client *client, void *userdata, UA_UInt32 requestId,
348 UA_StatusCode status, UA_Boolean *executable);
349
352 UA_Client *client, const UA_NodeId nodeId,
354 void *userdata, UA_UInt32 *requestId);
355
356/** Read a single UserExecutable attribute */
357typedef void
359 UA_Client *client, void *userdata, UA_UInt32 requestId,
360 UA_StatusCode status, UA_Boolean *userExecutable);
361
364 UA_Client *client, const UA_NodeId nodeId,
366 void *userdata, UA_UInt32 *requestId);
367
368
369
372 UA_Client *client, const UA_NodeId *nodeId,
373 UA_AttributeId attributeId, const void *in,
374 const UA_DataType *inDataType,
376 void *userdata, UA_UInt32 *reqId);
377
378static UA_StatusCode
379UA_Client_writeValueAttribute_async(
380 UA_Client *client, const UA_NodeId nodeId,
381 const UA_Variant *attr, UA_ClientAsyncWriteCallback callback,
382 void *userdata, UA_UInt32 *reqId) {
384 client, &nodeId, UA_ATTRIBUTEID_VALUE, attr,
387 userdata, reqId);
388}
389
390static UA_StatusCode
391UA_Client_writeNodeIdAttribute_async(
392 UA_Client *client, const UA_NodeId nodeId,
393 const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback,
394 void *userdata, UA_UInt32 *reqId) {
396 client, &nodeId, UA_ATTRIBUTEID_NODEID, attr,
397 &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId);
398}
399
400static UA_StatusCode
401UA_Client_writeNodeClassAttribute_async(
402 UA_Client *client, const UA_NodeId nodeId,
403 const UA_NodeClass *attr, UA_ClientAsyncServiceCallback callback,
404 void *userdata, UA_UInt32 *reqId) {
406 client, &nodeId, UA_ATTRIBUTEID_NODECLASS, attr,
407 &UA_TYPES[UA_TYPES_NODECLASS], callback, userdata, reqId);
408}
409
410static UA_StatusCode
411UA_Client_writeBrowseNameAttribute_async(
412 UA_Client *client, const UA_NodeId nodeId,
414 void *userdata, UA_UInt32 *reqId) {
416 client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, attr,
417 &UA_TYPES[UA_TYPES_QUALIFIEDNAME], callback, userdata, reqId);
418}
419
420static UA_StatusCode
421UA_Client_writeDisplayNameAttribute_async(
422 UA_Client *client, const UA_NodeId nodeId,
424 void *userdata, UA_UInt32 *reqId) {
426 client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, attr,
427 &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId);
428}
429
430static UA_StatusCode
431UA_Client_writeDescriptionAttribute_async(
432 UA_Client *client, const UA_NodeId nodeId,
434 void *userdata, UA_UInt32 *reqId) {
436 client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, attr,
437 &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId);
438}
439
440static UA_StatusCode
441UA_Client_writeWriteMaskAttribute_async(
442 UA_Client *client, const UA_NodeId nodeId,
443 const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback,
444 void *userdata, UA_UInt32 *reqId) {
446 client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, attr,
447 &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId);
448}
449
450static UA_StatusCode
451UA_Client_writeUserWriteMaskAttribute_async(
452 UA_Client *client, const UA_NodeId nodeId,
453 const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback,
454 void *userdata, UA_UInt32 *reqId) {
456 client, &nodeId, UA_ATTRIBUTEID_USERWRITEMASK, attr,
457 &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId);
458}
459
460static UA_StatusCode
461UA_Client_writeIsAbstractAttribute_async(
462 UA_Client *client, const UA_NodeId nodeId,
463 const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
464 void *userdata, UA_UInt32 *reqId) {
466 client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, attr,
467 &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
468}
469
470static UA_StatusCode
471UA_Client_writeSymmetricAttribute_async(
472 UA_Client *client, const UA_NodeId nodeId,
473 const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
474 void *userdata, UA_UInt32 *reqId) {
476 client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, attr,
477 &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
478}
479
480static UA_StatusCode
481UA_Client_writeInverseNameAttribute_async(
482 UA_Client *client, const UA_NodeId nodeId,
483 const UA_LocalizedText *attr,
485 void *userdata, UA_UInt32 *reqId) {
487 client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, attr,
488 &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId);
489}
490
491static UA_StatusCode
492UA_Client_writeContainsNoLoopsAttribute_async(
493 UA_Client *client, const UA_NodeId nodeId,
494 const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
495 void *userdata, UA_UInt32 *reqId) {
498 &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
499}
500
501static UA_StatusCode
502UA_Client_writeEventNotifierAttribute_async(
503 UA_Client *client, const UA_NodeId nodeId,
504 const UA_Byte *attr, UA_ClientAsyncServiceCallback callback,
505 void *userdata, UA_UInt32 *reqId) {
507 client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, attr,
508 &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId);
509}
510
511static UA_StatusCode
512UA_Client_writeDataTypeAttribute_async(
513 UA_Client *client, const UA_NodeId nodeId,
514 const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback,
515 void *userdata, UA_UInt32 *reqId) {
517 client, &nodeId, UA_ATTRIBUTEID_DATATYPE, attr,
518 &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId);
519}
520
521static UA_StatusCode
522UA_Client_writeValueRankAttribute_async(
523 UA_Client *client, const UA_NodeId nodeId,
524 const UA_Int32 *attr, UA_ClientAsyncServiceCallback callback,
525 void *userdata, UA_UInt32 *reqId) {
527 client, &nodeId, UA_ATTRIBUTEID_VALUERANK, attr,
528 &UA_TYPES[UA_TYPES_INT32], callback, userdata, reqId);
529}
530
531static UA_StatusCode
532UA_Client_writeAccessLevelAttribute_async(
533 UA_Client *client, const UA_NodeId nodeId,
534 const UA_Byte *attr, UA_ClientAsyncServiceCallback callback,
535 void *userdata, UA_UInt32 *reqId) {
537 client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, attr,
538 &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId);
539}
540
541static UA_StatusCode
542UA_Client_writeAccessLevelExAttribute_async(
543 UA_Client *client, const UA_NodeId nodeId,
544 const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback,
545 void *userdata, UA_UInt32 *reqId) {
547 client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, attr,
548 &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId);
549}
550
551static UA_StatusCode
552UA_Client_writeUserAccessLevelAttribute_async(
553 UA_Client *client, const UA_NodeId nodeId,
554 const UA_Byte *attr, UA_ClientAsyncServiceCallback callback,
555 void *userdata, UA_UInt32 *reqId) {
558 &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId);
559}
560
561static UA_StatusCode
562UA_Client_writeMinimumSamplingIntervalAttribute_async(
563 UA_Client *client, const UA_NodeId nodeId,
564 const UA_Double *attr, UA_ClientAsyncServiceCallback callback,
565 void *userdata, UA_UInt32 *reqId) {
568 attr, &UA_TYPES[UA_TYPES_DOUBLE], callback, userdata, reqId);
569}
570
571static UA_StatusCode
572UA_Client_writeHistorizingAttribute_async(
573 UA_Client *client, const UA_NodeId nodeId,
574 const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
575 void *userdata, UA_UInt32 *reqId) {
577 client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, attr,
578 &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
579}
580
581static UA_StatusCode
582UA_Client_writeExecutableAttribute_async(
583 UA_Client *client, const UA_NodeId nodeId,
584 const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
585 void *userdata, UA_UInt32 *reqId) {
587 client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, attr,
588 &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
589}
590
591static UA_StatusCode
592UA_Client_writeUserExecutableAttribute_async(
593 UA_Client *client, const UA_NodeId nodeId,
594 const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
595 void *userdata, UA_UInt32 *reqId) {
598 &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
599}
600
601
604 UA_Client *client,
605 const UA_NodeId objectId, const UA_NodeId methodId,
606 size_t inputSize, const UA_Variant *input,
608 void *userdata, UA_UInt32 *reqId);
609
610typedef void
612 UA_Client *client, void *userdata,
613 UA_UInt32 requestId, UA_CallResponse *cr);
614
615static UA_StatusCode
616UA_Client_call_async(
617 UA_Client *client,
618 const UA_NodeId objectId, const UA_NodeId methodId,
619 size_t inputSize, const UA_Variant *input,
620 UA_ClientAsyncCallCallback callback, void *userdata,
621 UA_UInt32 *reqId) {
623 client, objectId, methodId, inputSize, input,
624 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
625}
626
627
628typedef void
630 UA_Client *client, void *userdata,
631 UA_UInt32 requestId, UA_AddNodesResponse *ar);
632
635 UA_Client *client, const UA_NodeClass nodeClass,
636 const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId,
637 const UA_NodeId referenceTypeId, const UA_QualifiedName browseName,
638 const UA_NodeId typeDefinition, const UA_NodeAttributes *attr,
639 const UA_DataType *attributeType, UA_NodeId *outNewNodeId,
640 UA_ClientAsyncServiceCallback callback, void *userdata,
641 UA_UInt32 *reqId);
642
643static UA_StatusCode
644UA_Client_addVariableNode_async(
645 UA_Client *client, const UA_NodeId requestedNewNodeId,
646 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
647 const UA_QualifiedName browseName, const UA_NodeId typeDefinition,
648 const UA_VariableAttributes attr, UA_NodeId *outNewNodeId,
650 void *userdata, UA_UInt32 *reqId) {
652 client, UA_NODECLASS_VARIABLE, requestedNewNodeId,
653 parentNodeId, referenceTypeId, browseName,
654 typeDefinition, (const UA_NodeAttributes *)&attr,
656 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
657}
658
659static UA_StatusCode
660UA_Client_addVariableTypeNode_async(
661 UA_Client *client, const UA_NodeId requestedNewNodeId,
662 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
663 const UA_QualifiedName browseName,
664 const UA_VariableTypeAttributes attr,
665 UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback,
666 void *userdata, UA_UInt32 *reqId) {
669 requestedNewNodeId, parentNodeId,
670 referenceTypeId, browseName, UA_NODEID_NULL,
671 (const UA_NodeAttributes *)&attr,
673 outNewNodeId, (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
674}
675
676static UA_StatusCode
677UA_Client_addObjectNode_async(
678 UA_Client *client, const UA_NodeId requestedNewNodeId,
679 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
680 const UA_QualifiedName browseName, const UA_NodeId typeDefinition,
681 const UA_ObjectAttributes attr, UA_NodeId *outNewNodeId,
683 void *userdata, UA_UInt32 *reqId) {
685 client, UA_NODECLASS_OBJECT, requestedNewNodeId,
686 parentNodeId, referenceTypeId,
687 browseName, typeDefinition, (const UA_NodeAttributes *)&attr,
688 &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], outNewNodeId,
689 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
690}
691
692static UA_StatusCode
693UA_Client_addObjectTypeNode_async(
694 UA_Client *client, const UA_NodeId requestedNewNodeId,
695 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
696 const UA_QualifiedName browseName,
697 const UA_ObjectTypeAttributes attr,
698 UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback,
699 void *userdata, UA_UInt32 *reqId) {
701 client, UA_NODECLASS_OBJECTTYPE, requestedNewNodeId, parentNodeId,
702 referenceTypeId, browseName, UA_NODEID_NULL,
703 (const UA_NodeAttributes *)&attr,
705 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
706}
707
708static UA_StatusCode
709UA_Client_addViewNode_async(
710 UA_Client *client, const UA_NodeId requestedNewNodeId,
711 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
712 const UA_QualifiedName browseName, const UA_ViewAttributes attr,
713 UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback,
714 void *userdata, UA_UInt32 *reqId) {
716 client, UA_NODECLASS_VIEW, requestedNewNodeId,
717 parentNodeId, referenceTypeId,
718 browseName, UA_NODEID_NULL, (const UA_NodeAttributes *)&attr,
719 &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], outNewNodeId,
720 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
721}
722
723static UA_StatusCode
724UA_Client_addReferenceTypeNode_async(
725 UA_Client *client, const UA_NodeId requestedNewNodeId,
726 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
727 const UA_QualifiedName browseName,
729 UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback,
730 void *userdata, UA_UInt32 *reqId) {
732 client, UA_NODECLASS_REFERENCETYPE, requestedNewNodeId, parentNodeId,
733 referenceTypeId, browseName, UA_NODEID_NULL,
734 (const UA_NodeAttributes *)&attr,
736 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
737}
738
739static UA_StatusCode
740UA_Client_addDataTypeNode_async(
741 UA_Client *client, const UA_NodeId requestedNewNodeId,
742 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
743 const UA_QualifiedName browseName, const UA_DataTypeAttributes attr,
744 UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback,
745 void *userdata, UA_UInt32 *reqId) {
747 client, UA_NODECLASS_DATATYPE, requestedNewNodeId,
748 parentNodeId, referenceTypeId, browseName,
749 UA_NODEID_NULL, (const UA_NodeAttributes *)&attr,
751 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
752}
753
754static UA_StatusCode
755UA_Client_addMethodNode_async(
756 UA_Client *client, const UA_NodeId requestedNewNodeId,
757 const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId,
758 const UA_QualifiedName browseName, const UA_MethodAttributes attr,
759 UA_NodeId *outNewNodeId, UA_ClientAsyncAddNodesCallback callback,
760 void *userdata, UA_UInt32 *reqId) {
762 client, UA_NODECLASS_METHOD, requestedNewNodeId, parentNodeId,
763 referenceTypeId, browseName, UA_NODEID_NULL,
764 (const UA_NodeAttributes *)&attr,
765 &UA_TYPES[UA_TYPES_METHODATTRIBUTES], outNewNodeId,
766 (UA_ClientAsyncServiceCallback)callback, userdata, reqId);
767}
768
770
771#endif /* UA_CLIENT_HIGHLEVEL_ASYNC_H_ */
void(* UA_ClientAsyncServiceCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, void *response)
Definition client.h:685
UA_StatusCode UA_THREADSAFE __UA_Client_AsyncService(UA_Client *client, const void *request, const UA_DataType *requestType, UA_ClientAsyncServiceCallback callback, const UA_DataType *responseType, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadAccessLevelExAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_UInt32 *accessLevelEx)
Read a single AccessLevelEx attribute.
void(* UA_ClientAsyncReadNodeClassAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_NodeClass *nodeClass)
Read a single NodeClass attribute.
UA_StatusCode UA_Client_readWriteMaskAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadWriteMaskAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readAccessLevelExAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadAccessLevelExAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readUserExecutableAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadUserExecutableAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readNodeClassAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadNodeClassAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadUserExecutableAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Boolean *userExecutable)
Read a single UserExecutable attribute.
UA_StatusCode UA_Client_readSymmetricAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadSymmetricAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadInverseNameAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_LocalizedText *inverseName)
Read a single InverseName attribute.
void(* UA_ClientAsyncReadBrowseNameAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_QualifiedName *browseName)
Read a single BrowseName attribute.
void(* UA_ClientAsyncOperationCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, void *result)
void(* UA_ClientReadArrayDimensionsAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Variant *arrayDimensions)
Read a single ArrayDimensions attribute.
void(* UA_ClientAsyncReadValueRankAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Int32 *valueRank)
Read a single ValueRank attribute.
UA_StatusCode UA_Client_readValueAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadValueAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadDataTypeAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_NodeId *dataType)
Read a single DataType attribute.
UA_StatusCode UA_Client_readDisplayNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadDisplayNameAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readUserAccessLevelAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadUserAccessLevelAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode __UA_Client_call_async(UA_Client *client, const UA_NodeId objectId, const UA_NodeId methodId, size_t inputSize, const UA_Variant *input, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *reqId)
void(* UA_ClientAsyncReadValueAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_DataValue *value)
Read a single Value attribute.
UA_StatusCode UA_Client_readIsAbstractAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadIsAbstractAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadEventNotifierAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Byte *eventNotifier)
Read a single EventNotifier attribute.
UA_StatusCode UA_Client_readAttribute_async(UA_Client *client, const UA_ReadValueId *rvi, UA_TimestampsToReturn timestampsToReturn, UA_ClientAsyncReadAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
_UA_BEGIN_DECLS typedef void(* UA_ClientAsyncReadCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_ReadResponse *rr)
This Source Code Form is subject to the terms of the Mozilla Public License, v.
UA_StatusCode UA_Client_readDescriptionAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadDescriptionAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadDisplayNameAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_LocalizedText *displayName)
Read a single DisplayName attribute.
void(* UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Double *minimumSamplingInterval)
Read a single MinimumSamplingInterval attribute.
UA_StatusCode UA_Client_readInverseNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadInverseNameAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readEventNotifierAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadEventNotifierAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readBrowseNameAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadBrowseNameAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadAccessLevelAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Byte *accessLevel)
Read a single AccessLevel attribute.
UA_StatusCode __UA_Client_addNode_async(UA_Client *client, const UA_NodeClass nodeClass, const UA_NodeId requestedNewNodeId, const UA_NodeId parentNodeId, const UA_NodeId referenceTypeId, const UA_QualifiedName browseName, const UA_NodeId typeDefinition, const UA_NodeAttributes *attr, const UA_DataType *attributeType, UA_NodeId *outNewNodeId, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *reqId)
UA_StatusCode UA_Client_readAccessLevelAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadAccessLevelAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readUserWriteMaskAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadUserWriteMaskAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_readValueRankAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadValueRankAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadIsAbstractAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Boolean *isAbstract)
Read a single IsAbstract attribute.
void(* UA_ClientAsyncReadWriteMaskAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_UInt32 *writeMask)
Read a single WriteMask attribute.
void(* UA_ClientAsyncReadSymmetricAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Boolean *symmetric)
Read a single Symmetric attribute.
UA_StatusCode UA_Client_readArrayDimensionsAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientReadArrayDimensionsAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadHistorizingAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Boolean *historizing)
Read a single Historizing attribute.
UA_StatusCode UA_Client_readContainsNoLoopsAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadContainsNoLoopsAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadContainsNoLoopsAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Boolean *containsNoLoops)
Read a single ContainsNoLoops attribute.
void(* UA_ClientAsyncReadExecutableAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Boolean *executable)
Read a single Executable attribute.
void(* UA_ClientAsyncReadUserAccessLevelAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_Byte *userAccessLevel)
Read a single UserAccessLevel attribute.
UA_StatusCode UA_Client_readMinimumSamplingIntervalAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadMinimumSamplingIntervalAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncBrowseNextCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_BrowseNextResponse *wr)
UA_StatusCode __UA_Client_writeAttribute_async(UA_Client *client, const UA_NodeId *nodeId, UA_AttributeId attributeId, const void *in, const UA_DataType *inDataType, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *reqId)
void(* UA_ClientAsyncReadUserWriteMaskAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_UInt32 *writeMask)
Read a single UserWriteMask attribute.
UA_StatusCode UA_Client_readDataTypeAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadDataTypeAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncReadDescriptionAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_LocalizedText *description)
Read a single Description attribute.
void(* UA_ClientAsyncWriteCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_WriteResponse *wr)
UA_StatusCode UA_Client_readExecutableAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadExecutableAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncBrowseCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_BrowseResponse *wr)
UA_StatusCode UA_Client_readHistorizingAttribute_async(UA_Client *client, const UA_NodeId nodeId, UA_ClientAsyncReadHistorizingAttributeCallback callback, void *userdata, UA_UInt32 *requestId)
void(* UA_ClientAsyncAddNodesCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_AddNodesResponse *ar)
void(* UA_ClientAsyncCallCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_CallResponse *cr)
void(* UA_ClientAsyncReadAttributeCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, UA_StatusCode status, UA_DataValue *attribute)
Reading a single attribute.
struct UA_Client UA_Client
Definition common.h:206
UA_AttributeId
This Source Code Form is subject to the terms of the Mozilla Public License, v.
Definition common.h:22
@ UA_ATTRIBUTEID_NODEID
Definition common.h:23
@ UA_ATTRIBUTEID_VALUERANK
Definition common.h:37
@ UA_ATTRIBUTEID_EXECUTABLE
Definition common.h:43
@ UA_ATTRIBUTEID_ACCESSLEVEL
Definition common.h:39
@ UA_ATTRIBUTEID_ISABSTRACT
Definition common.h:30
@ UA_ATTRIBUTEID_SYMMETRIC
Definition common.h:31
@ UA_ATTRIBUTEID_HISTORIZING
Definition common.h:42
@ UA_ATTRIBUTEID_CONTAINSNOLOOPS
Definition common.h:33
@ UA_ATTRIBUTEID_USEREXECUTABLE
Definition common.h:44
@ UA_ATTRIBUTEID_USERWRITEMASK
Definition common.h:29
@ UA_ATTRIBUTEID_DESCRIPTION
Definition common.h:27
@ UA_ATTRIBUTEID_WRITEMASK
Definition common.h:28
@ UA_ATTRIBUTEID_VALUE
Definition common.h:35
@ UA_ATTRIBUTEID_BROWSENAME
Definition common.h:25
@ UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL
Definition common.h:41
@ UA_ATTRIBUTEID_DATATYPE
Definition common.h:36
@ UA_ATTRIBUTEID_INVERSENAME
Definition common.h:32
@ UA_ATTRIBUTEID_USERACCESSLEVEL
Definition common.h:40
@ UA_ATTRIBUTEID_EVENTNOTIFIER
Definition common.h:34
@ UA_ATTRIBUTEID_DISPLAYNAME
Definition common.h:26
@ UA_ATTRIBUTEID_ACCESSLEVELEX
Definition common.h:49
@ UA_ATTRIBUTEID_NODECLASS
Definition common.h:24
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
Definition config.h:100
#define UA_THREADSAFE
Definition config.h:413
#define _UA_END_DECLS
Definition config.h:107
AddNodesResponse.
BrowseNextRequest.
BrowseNextResponse.
BrowseResponse.
DataTypeAttributes.
MethodAttributes.
NodeAttributes.
ObjectAttributes.
ObjectTypeAttributes.
ReferenceTypeAttributes.
VariableAttributes.
VariableTypeAttributes.
ViewAttributes.
int32_t UA_Int32
Definition types.h:52
char id nodeId
Definition types.h:440
_UA_BEGIN_DECLS typedef bool UA_Boolean
This Source Code Form is subject to the terms of the Mozilla Public License, v.
Definition types.h:27
UA_EXPORT const UA_NodeId UA_NODEID_NULL
uint32_t UA_UInt32
Definition types.h:57
uint32_t UA_StatusCode
Definition types.h:82
double UA_Double
Definition types.h:77
uint8_t UA_Byte
Definition types.h:37
#define UA_TYPES_WRITERESPONSE
#define UA_TYPES_BROWSENEXTREQUEST
#define UA_TYPES_NODEID
NodeId.
#define UA_TYPES_VARIANT
Variant.
#define UA_TYPES_UINT32
UInt32.
#define UA_TYPES_BROWSENEXTRESPONSE
#define UA_TYPES_NODECLASS
#define UA_TYPES_VIEWATTRIBUTES
#define UA_TYPES_BROWSEREQUEST
#define UA_TYPES_LOCALIZEDTEXT
LocalizedText.
#define UA_TYPES_REFERENCETYPEATTRIBUTES
#define UA_TYPES_INT32
Int32.
#define UA_TYPES_BOOLEAN
Boolean.
#define UA_TYPES_QUALIFIEDNAME
QualifiedName.
#define UA_TYPES_DOUBLE
Double.
#define UA_TYPES_DATATYPEATTRIBUTES
#define UA_TYPES_READREQUEST
#define UA_TYPES_WRITEREQUEST
#define UA_TYPES_VARIABLEATTRIBUTES
#define UA_TYPES_OBJECTTYPEATTRIBUTES
#define UA_TYPES_VARIABLETYPEATTRIBUTES
UA_TimestampsToReturn
TimestampsToReturn.
#define UA_TYPES_BROWSERESPONSE
#define UA_TYPES_READRESPONSE
#define UA_TYPES_OBJECTATTRIBUTES
#define UA_TYPES_BYTE
Byte.
UA_NodeClass
NodeClass.
@ UA_NODECLASS_OBJECTTYPE
@ UA_NODECLASS_REFERENCETYPE
@ UA_NODECLASS_OBJECT
@ UA_NODECLASS_DATATYPE
@ UA_NODECLASS_VIEW
@ UA_NODECLASS_VARIABLETYPE
@ UA_NODECLASS_METHOD
@ UA_NODECLASS_VARIABLE
UA_DataType UA_TYPES[388]
#define UA_TYPES_METHODATTRIBUTES