open62541 1.4.15
Open source implementation of OPC UA
Loading...
Searching...
No Matches
client_highlevel.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 2015-2018 (c) Fraunhofer IOSB (Author: Julius Pfrommer)
6 * Copyright 2015 (c) Oleksiy Vasylyev
7 * Copyright 2017 (c) Florian Palm
8 * Copyright 2016 (c) Chris Iatrou
9 * Copyright 2017 (c) Stefan Profanter, fortiss GmbH
10 * Copyright 2017 (c) Frank Meerkötter
11 * Copyright 2018 (c) Fabian Arndt
12 * Copyright 2018 (c) Peter Rustler, basyskom GmbH
13 */
14
15#ifndef UA_CLIENT_HIGHLEVEL_H_
16#define UA_CLIENT_HIGHLEVEL_H_
17
18#include <open62541/client.h>
19
21
22
23
24/** Don't call this function, use the typed versions */
27 UA_AttributeId attributeId, void *out,
28 const UA_DataType *outDataType);
29
30static UA_StatusCode
31UA_Client_readNodeIdAttribute(UA_Client *client, const UA_NodeId nodeId,
32 UA_NodeId *outNodeId) {
34 outNodeId, &UA_TYPES[UA_TYPES_NODEID]);
35}
36
37static UA_StatusCode
38UA_Client_readNodeClassAttribute(UA_Client *client, const UA_NodeId nodeId,
39 UA_NodeClass *outNodeClass) {
41 outNodeClass, &UA_TYPES[UA_TYPES_NODECLASS]);
42}
43
44static UA_StatusCode
45UA_Client_readBrowseNameAttribute(UA_Client *client, const UA_NodeId nodeId,
46 UA_QualifiedName *outBrowseName) {
48 outBrowseName,
50}
51
52static UA_StatusCode
53UA_Client_readDisplayNameAttribute(UA_Client *client, const UA_NodeId nodeId,
54 UA_LocalizedText *outDisplayName) {
56 outDisplayName,
58}
59
60static UA_StatusCode
61UA_Client_readDescriptionAttribute(UA_Client *client, const UA_NodeId nodeId,
62 UA_LocalizedText *outDescription) {
64 outDescription,
66}
67
68static UA_StatusCode
69UA_Client_readWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId,
70 UA_UInt32 *outWriteMask) {
72 outWriteMask, &UA_TYPES[UA_TYPES_UINT32]);
73}
74
75static UA_StatusCode
76UA_Client_readUserWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId,
77 UA_UInt32 *outUserWriteMask) {
78 return __UA_Client_readAttribute(client, &nodeId,
80 outUserWriteMask,
82}
83
84static UA_StatusCode
85UA_Client_readIsAbstractAttribute(UA_Client *client, const UA_NodeId nodeId,
86 UA_Boolean *outIsAbstract) {
88 outIsAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]);
89}
90
91static UA_StatusCode
92UA_Client_readSymmetricAttribute(UA_Client *client, const UA_NodeId nodeId,
93 UA_Boolean *outSymmetric) {
95 outSymmetric, &UA_TYPES[UA_TYPES_BOOLEAN]);
96}
97
98static UA_StatusCode
99UA_Client_readInverseNameAttribute(UA_Client *client, const UA_NodeId nodeId,
100 UA_LocalizedText *outInverseName) {
102 outInverseName,
104}
105
106static UA_StatusCode
107UA_Client_readContainsNoLoopsAttribute(UA_Client *client, const UA_NodeId nodeId,
108 UA_Boolean *outContainsNoLoops) {
109 return __UA_Client_readAttribute(client, &nodeId,
111 outContainsNoLoops,
113}
114
115static UA_StatusCode
116UA_Client_readEventNotifierAttribute(UA_Client *client, const UA_NodeId nodeId,
117 UA_Byte *outEventNotifier) {
119 outEventNotifier, &UA_TYPES[UA_TYPES_BYTE]);
120}
121
122static UA_StatusCode
123UA_Client_readValueAttribute(UA_Client *client, const UA_NodeId nodeId,
124 UA_Variant *outValue) {
126 outValue, &UA_TYPES[UA_TYPES_VARIANT]);
127}
128
129static UA_StatusCode
130UA_Client_readDataTypeAttribute(UA_Client *client, const UA_NodeId nodeId,
131 UA_NodeId *outDataType) {
133 outDataType, &UA_TYPES[UA_TYPES_NODEID]);
134}
135
136static UA_StatusCode
137UA_Client_readValueRankAttribute(UA_Client *client, const UA_NodeId nodeId,
138 UA_Int32 *outValueRank) {
140 outValueRank, &UA_TYPES[UA_TYPES_INT32]);
141}
142
145 size_t *outArrayDimensionsSize,
146 UA_UInt32 **outArrayDimensions);
147
148static UA_StatusCode
149UA_Client_readAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId,
150 UA_Byte *outAccessLevel) {
152 outAccessLevel, &UA_TYPES[UA_TYPES_BYTE]);
153}
154
155static UA_StatusCode
156UA_Client_readAccessLevelExAttribute(UA_Client *client, const UA_NodeId nodeId,
157 UA_UInt32 *outAccessLevelEx) {
159 outAccessLevelEx, &UA_TYPES[UA_TYPES_UINT32]);
160}
161
162static UA_StatusCode
163UA_Client_readUserAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId,
164 UA_Byte *outUserAccessLevel) {
165 return __UA_Client_readAttribute(client, &nodeId,
167 outUserAccessLevel,
169}
170
171static UA_StatusCode
172UA_Client_readMinimumSamplingIntervalAttribute(UA_Client *client,
173 const UA_NodeId nodeId,
174 UA_Double *outMinSamplingInterval) {
175 return __UA_Client_readAttribute(client, &nodeId,
177 outMinSamplingInterval,
179}
180
181static UA_StatusCode
182UA_Client_readHistorizingAttribute(UA_Client *client, const UA_NodeId nodeId,
183 UA_Boolean *outHistorizing) {
185 outHistorizing, &UA_TYPES[UA_TYPES_BOOLEAN]);
186}
187
188static UA_StatusCode
189UA_Client_readExecutableAttribute(UA_Client *client, const UA_NodeId nodeId,
190 UA_Boolean *outExecutable) {
192 outExecutable, &UA_TYPES[UA_TYPES_BOOLEAN]);
193}
194
195static UA_StatusCode
196UA_Client_readUserExecutableAttribute(UA_Client *client, const UA_NodeId nodeId,
197 UA_Boolean *outUserExecutable) {
198 return __UA_Client_readAttribute(client, &nodeId,
200 outUserExecutable,
202}
203
204
205
208 UA_Client *client, const UA_NodeId *nodeId, UA_Boolean moreDataAvailable,
209 const UA_ExtensionObject *data, void *callbackContext);
210
213 UA_Client *client, const UA_NodeId *nodeId,
214 const UA_HistoricalIteratorCallback callback, UA_DateTime startTime,
215 UA_DateTime endTime, UA_String indexRange, const UA_EventFilter filter,
216 UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn,
217 void *callbackContext);
218
221 UA_Client *client, const UA_NodeId *nodeId,
222 const UA_HistoricalIteratorCallback callback, UA_DateTime startTime,
223 UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds,
224 UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn,
225 void *callbackContext);
226
229 UA_Client *client, const UA_NodeId *nodeId,
230 const UA_HistoricalIteratorCallback callback, UA_DateTime startTime,
231 UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds,
232 UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn,
233 void *callbackContext);
234
237 UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value);
238
241 UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value);
242
245 UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value);
246
249 UA_Client *client, const UA_NodeId *nodeId,
250 UA_DateTime startTimestamp, UA_DateTime endTimestamp);
251
252
253
254/** Don't call this function, use the typed versions */
257 UA_AttributeId attributeId, const void *in,
258 const UA_DataType *inDataType);
259
260static UA_StatusCode
261UA_Client_writeNodeIdAttribute(UA_Client *client, const UA_NodeId nodeId,
262 const UA_NodeId *newNodeId) {
264 newNodeId, &UA_TYPES[UA_TYPES_NODEID]);
265}
266
267static UA_StatusCode
268UA_Client_writeNodeClassAttribute(UA_Client *client, const UA_NodeId nodeId,
269 const UA_NodeClass *newNodeClass) {
271 newNodeClass, &UA_TYPES[UA_TYPES_NODECLASS]);
272}
273
274static UA_StatusCode
275UA_Client_writeBrowseNameAttribute(UA_Client *client, const UA_NodeId nodeId,
276 const UA_QualifiedName *newBrowseName) {
278 newBrowseName,
280}
281
282static UA_StatusCode
283UA_Client_writeDisplayNameAttribute(UA_Client *client, const UA_NodeId nodeId,
284 const UA_LocalizedText *newDisplayName) {
286 newDisplayName,
288}
289
290static UA_StatusCode
291UA_Client_writeDescriptionAttribute(UA_Client *client, const UA_NodeId nodeId,
292 const UA_LocalizedText *newDescription) {
294 newDescription,
296}
297
298static UA_StatusCode
299UA_Client_writeWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId,
300 const UA_UInt32 *newWriteMask) {
302 newWriteMask, &UA_TYPES[UA_TYPES_UINT32]);
303}
304
305static UA_StatusCode
306UA_Client_writeUserWriteMaskAttribute(UA_Client *client, const UA_NodeId nodeId,
307 const UA_UInt32 *newUserWriteMask) {
308 return __UA_Client_writeAttribute(client, &nodeId,
310 newUserWriteMask,
312}
313
314static UA_StatusCode
315UA_Client_writeIsAbstractAttribute(UA_Client *client, const UA_NodeId nodeId,
316 const UA_Boolean *newIsAbstract) {
318 newIsAbstract, &UA_TYPES[UA_TYPES_BOOLEAN]);
319}
320
321static UA_StatusCode
322UA_Client_writeSymmetricAttribute(UA_Client *client, const UA_NodeId nodeId,
323 const UA_Boolean *newSymmetric) {
325 newSymmetric, &UA_TYPES[UA_TYPES_BOOLEAN]);
326}
327
328static UA_StatusCode
329UA_Client_writeInverseNameAttribute(UA_Client *client, const UA_NodeId nodeId,
330 const UA_LocalizedText *newInverseName) {
332 newInverseName,
334}
335
336static UA_StatusCode
337UA_Client_writeContainsNoLoopsAttribute(UA_Client *client, const UA_NodeId nodeId,
338 const UA_Boolean *newContainsNoLoops) {
339 return __UA_Client_writeAttribute(client, &nodeId,
341 newContainsNoLoops,
343}
344
345static UA_StatusCode
346UA_Client_writeEventNotifierAttribute(UA_Client *client, const UA_NodeId nodeId,
347 const UA_Byte *newEventNotifier) {
348 return __UA_Client_writeAttribute(client, &nodeId,
350 newEventNotifier,
352}
353
354static UA_StatusCode
355UA_Client_writeValueAttribute(UA_Client *client, const UA_NodeId nodeId,
356 const UA_Variant *newValue) {
358 newValue, &UA_TYPES[UA_TYPES_VARIANT]);
359}
360
361static UA_StatusCode
362UA_Client_writeValueAttribute_scalar(UA_Client *client, const UA_NodeId nodeId,
363 const void *newValue,
364 const UA_DataType *valueType) {
366 newValue, valueType);
367}
368
369/** Write a DataValue that can include timestamps and status codes */
370static UA_StatusCode
371UA_Client_writeValueAttributeEx(UA_Client *client, const UA_NodeId nodeId,
372 const UA_DataValue *newValue) {
374 newValue, &UA_TYPES[UA_TYPES_DATAVALUE]);
375}
376
377static UA_StatusCode
378UA_Client_writeDataTypeAttribute(UA_Client *client, const UA_NodeId nodeId,
379 const UA_NodeId *newDataType) {
381 newDataType, &UA_TYPES[UA_TYPES_NODEID]);
382}
383
384static UA_StatusCode
385UA_Client_writeValueRankAttribute(UA_Client *client, const UA_NodeId nodeId,
386 const UA_Int32 *newValueRank) {
388 newValueRank, &UA_TYPES[UA_TYPES_INT32]);
389}
390
393 size_t newArrayDimensionsSize,
394 const UA_UInt32 *newArrayDimensions);
395
396static UA_StatusCode
397UA_Client_writeAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId,
398 const UA_Byte *newAccessLevel) {
400 newAccessLevel, &UA_TYPES[UA_TYPES_BYTE]);
401}
402
403static UA_StatusCode
404UA_Client_writeAccessLevelExAttribute(UA_Client *client, const UA_NodeId nodeId,
405 UA_UInt32 *newAccessLevelEx) {
407 newAccessLevelEx, &UA_TYPES[UA_TYPES_UINT32]);
408}
409
410static UA_StatusCode
411UA_Client_writeUserAccessLevelAttribute(UA_Client *client, const UA_NodeId nodeId,
412 const UA_Byte *newUserAccessLevel) {
413 return __UA_Client_writeAttribute(client, &nodeId,
415 newUserAccessLevel,
417}
418
419static UA_StatusCode
420UA_Client_writeMinimumSamplingIntervalAttribute(UA_Client *client,
421 const UA_NodeId nodeId,
422 const UA_Double *newMinInterval) {
423 return __UA_Client_writeAttribute(client, &nodeId,
425 newMinInterval, &UA_TYPES[UA_TYPES_DOUBLE]);
426}
427
428static UA_StatusCode
429UA_Client_writeHistorizingAttribute(UA_Client *client, const UA_NodeId nodeId,
430 const UA_Boolean *newHistorizing) {
432 newHistorizing, &UA_TYPES[UA_TYPES_BOOLEAN]);
433}
434
435static UA_StatusCode
436UA_Client_writeExecutableAttribute(UA_Client *client, const UA_NodeId nodeId,
437 const UA_Boolean *newExecutable) {
439 newExecutable, &UA_TYPES[UA_TYPES_BOOLEAN]);
440}
441
442static UA_StatusCode
443UA_Client_writeUserExecutableAttribute(UA_Client *client, const UA_NodeId nodeId,
444 const UA_Boolean *newUserExecutable) {
445 return __UA_Client_writeAttribute(client, &nodeId,
447 newUserExecutable,
449}
450
451
452
455 const UA_NodeId objectId, const UA_NodeId methodId,
456 size_t inputSize, const UA_Variant *input,
457 size_t *outputSize, UA_Variant **output);
458
459
460
462UA_Client_addReference(UA_Client *client, const UA_NodeId sourceNodeId,
463 const UA_NodeId referenceTypeId, UA_Boolean isForward,
464 const UA_String targetServerUri,
465 const UA_ExpandedNodeId targetNodeId,
466 UA_NodeClass targetNodeClass);
467
470 const UA_NodeId referenceTypeId, UA_Boolean isForward,
471 const UA_ExpandedNodeId targetNodeId,
472 UA_Boolean deleteBidirectional);
473
476 UA_Boolean deleteTargetReferences);
477
478/** Don't call this function, use the typed versions */
481 const UA_NodeId requestedNewNodeId,
482 const UA_NodeId parentNodeId,
483 const UA_NodeId referenceTypeId,
484 const UA_QualifiedName browseName,
485 const UA_NodeId typeDefinition, const UA_NodeAttributes *attr,
486 const UA_DataType *attributeType, UA_NodeId *outNewNodeId);
487
488static UA_StatusCode
489UA_Client_addVariableNode(UA_Client *client, const UA_NodeId requestedNewNodeId,
490 const UA_NodeId parentNodeId,
491 const UA_NodeId referenceTypeId,
492 const UA_QualifiedName browseName,
493 const UA_NodeId typeDefinition,
494 const UA_VariableAttributes attr,
495 UA_NodeId *outNewNodeId) {
496 return __UA_Client_addNode(client, UA_NODECLASS_VARIABLE, requestedNewNodeId,
497 parentNodeId, referenceTypeId, browseName,
498 typeDefinition, (const UA_NodeAttributes*)&attr,
500 outNewNodeId);
501}
502
503static UA_StatusCode
504UA_Client_addVariableTypeNode(UA_Client *client,
505 const UA_NodeId requestedNewNodeId,
506 const UA_NodeId parentNodeId,
507 const UA_NodeId referenceTypeId,
508 const UA_QualifiedName browseName,
509 const UA_VariableTypeAttributes attr,
510 UA_NodeId *outNewNodeId) {
512 requestedNewNodeId,
513 parentNodeId, referenceTypeId, browseName,
514 UA_NODEID_NULL, (const UA_NodeAttributes*)&attr,
516 outNewNodeId);
517}
518
519static UA_StatusCode
520UA_Client_addObjectNode(UA_Client *client, const UA_NodeId requestedNewNodeId,
521 const UA_NodeId parentNodeId,
522 const UA_NodeId referenceTypeId,
523 const UA_QualifiedName browseName,
524 const UA_NodeId typeDefinition,
525 const UA_ObjectAttributes attr, UA_NodeId *outNewNodeId) {
526 return __UA_Client_addNode(client, UA_NODECLASS_OBJECT, requestedNewNodeId,
527 parentNodeId, referenceTypeId, browseName,
528 typeDefinition, (const UA_NodeAttributes*)&attr,
529 &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES], outNewNodeId);
530}
531
532static UA_StatusCode
533UA_Client_addObjectTypeNode(UA_Client *client, const UA_NodeId requestedNewNodeId,
534 const UA_NodeId parentNodeId,
535 const UA_NodeId referenceTypeId,
536 const UA_QualifiedName browseName,
537 const UA_ObjectTypeAttributes attr,
538 UA_NodeId *outNewNodeId) {
539 return __UA_Client_addNode(client, UA_NODECLASS_OBJECTTYPE, requestedNewNodeId,
540 parentNodeId, referenceTypeId, browseName,
541 UA_NODEID_NULL, (const UA_NodeAttributes*)&attr,
543 outNewNodeId);
544}
545
546static UA_StatusCode
547UA_Client_addViewNode(UA_Client *client, const UA_NodeId requestedNewNodeId,
548 const UA_NodeId parentNodeId,
549 const UA_NodeId referenceTypeId,
550 const UA_QualifiedName browseName,
551 const UA_ViewAttributes attr,
552 UA_NodeId *outNewNodeId) {
553 return __UA_Client_addNode(client, UA_NODECLASS_VIEW, requestedNewNodeId,
554 parentNodeId, referenceTypeId, browseName,
555 UA_NODEID_NULL, (const UA_NodeAttributes*)&attr,
556 &UA_TYPES[UA_TYPES_VIEWATTRIBUTES], outNewNodeId);
557}
558
559static UA_StatusCode
560UA_Client_addReferenceTypeNode(UA_Client *client,
561 const UA_NodeId requestedNewNodeId,
562 const UA_NodeId parentNodeId,
563 const UA_NodeId referenceTypeId,
564 const UA_QualifiedName browseName,
566 UA_NodeId *outNewNodeId) {
568 requestedNewNodeId,
569 parentNodeId, referenceTypeId, browseName,
570 UA_NODEID_NULL, (const UA_NodeAttributes*)&attr,
572 outNewNodeId);
573}
574
575static UA_StatusCode
576UA_Client_addDataTypeNode(UA_Client *client, const UA_NodeId requestedNewNodeId,
577 const UA_NodeId parentNodeId,
578 const UA_NodeId referenceTypeId,
579 const UA_QualifiedName browseName,
580 const UA_DataTypeAttributes attr,
581 UA_NodeId *outNewNodeId) {
582 return __UA_Client_addNode(client, UA_NODECLASS_DATATYPE, requestedNewNodeId,
583 parentNodeId, referenceTypeId, browseName,
584 UA_NODEID_NULL, (const UA_NodeAttributes*)&attr,
586 outNewNodeId);
587}
588
589static UA_StatusCode
590UA_Client_addMethodNode(UA_Client *client, const UA_NodeId requestedNewNodeId,
591 const UA_NodeId parentNodeId,
592 const UA_NodeId referenceTypeId,
593 const UA_QualifiedName browseName,
594 const UA_MethodAttributes attr,
595 UA_NodeId *outNewNodeId) {
596 return __UA_Client_addNode(client, UA_NODECLASS_METHOD, requestedNewNodeId,
597 parentNodeId, referenceTypeId, browseName,
598 UA_NODEID_NULL, (const UA_NodeAttributes*)&attr,
599 &UA_TYPES[UA_TYPES_METHODATTRIBUTES], outNewNodeId);
600}
601
602
603
604/** Get the namespace-index of a namespace-URI
605 *
606 * @param client The UA_Client struct for this connection
607 * @param namespaceUri The interested namespace URI
608 * @param namespaceIndex The namespace index of the URI. The value is unchanged
609 * in case of an error
610 * @return Indicates whether the operation succeeded or returns an error code */
614
615#ifndef HAVE_NODEITER_CALLBACK
616#define HAVE_NODEITER_CALLBACK
617/** Iterate over all nodes referenced by parentNodeId by calling the callback
618 * function for each child node */
620(*UA_NodeIteratorCallback)(UA_NodeId childId, UA_Boolean isInverse,
621 UA_NodeId referenceTypeId, void *handle);
622#endif
623
626 UA_Client *client, UA_NodeId parentNodeId,
627 UA_NodeIteratorCallback callback, void *handle);
628
630
631#endif /* UA_CLIENT_HIGHLEVEL_H_ */
UA_StatusCode UA_Client_deleteReference(UA_Client *client, const UA_NodeId sourceNodeId, const UA_NodeId referenceTypeId, UA_Boolean isForward, const UA_ExpandedNodeId targetNodeId, UA_Boolean deleteBidirectional)
UA_StatusCode(* UA_NodeIteratorCallback)(UA_NodeId childId, UA_Boolean isInverse, UA_NodeId referenceTypeId, void *handle)
Iterate over all nodes referenced by parentNodeId by calling the callback function for each child nod...
UA_StatusCode UA_Client_call(UA_Client *client, const UA_NodeId objectId, const UA_NodeId methodId, size_t inputSize, const UA_Variant *input, size_t *outputSize, UA_Variant **output)
UA_StatusCode __UA_Client_writeAttribute(UA_Client *client, const UA_NodeId *nodeId, UA_AttributeId attributeId, const void *in, const UA_DataType *inDataType)
Don't call this function, use the typed versions.
_UA_BEGIN_DECLS UA_StatusCode __UA_Client_readAttribute(UA_Client *client, const UA_NodeId *nodeId, UA_AttributeId attributeId, void *out, const UA_DataType *outDataType)
This Source Code Form is subject to the terms of the Mozilla Public License, v.
UA_StatusCode UA_Client_writeArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, size_t newArrayDimensionsSize, const UA_UInt32 *newArrayDimensions)
UA_StatusCode UA_Client_HistoryUpdate_update(UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value)
UA_StatusCode UA_Client_forEachChildNodeCall(UA_Client *client, UA_NodeId parentNodeId, UA_NodeIteratorCallback callback, void *handle)
UA_StatusCode UA_Client_HistoryUpdate_insert(UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value)
UA_StatusCode UA_Client_HistoryRead_raw(UA_Client *client, const UA_NodeId *nodeId, const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, void *callbackContext)
UA_StatusCode UA_Client_deleteNode(UA_Client *client, const UA_NodeId nodeId, UA_Boolean deleteTargetReferences)
UA_StatusCode UA_Client_HistoryUpdate_deleteRaw(UA_Client *client, const UA_NodeId *nodeId, UA_DateTime startTimestamp, UA_DateTime endTimestamp)
UA_StatusCode UA_Client_readArrayDimensionsAttribute(UA_Client *client, const UA_NodeId nodeId, size_t *outArrayDimensionsSize, UA_UInt32 **outArrayDimensions)
UA_StatusCode UA_Client_HistoryRead_events(UA_Client *client, const UA_NodeId *nodeId, const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, UA_DateTime endTime, UA_String indexRange, const UA_EventFilter filter, UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, void *callbackContext)
UA_StatusCode __UA_Client_addNode(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)
Don't call this function, use the typed versions.
UA_StatusCode UA_Client_HistoryRead_modified(UA_Client *client, const UA_NodeId *nodeId, const UA_HistoricalIteratorCallback callback, UA_DateTime startTime, UA_DateTime endTime, UA_String indexRange, UA_Boolean returnBounds, UA_UInt32 numValuesPerNode, UA_TimestampsToReturn timestampsToReturn, void *callbackContext)
UA_Boolean(* UA_HistoricalIteratorCallback)(UA_Client *client, const UA_NodeId *nodeId, UA_Boolean moreDataAvailable, const UA_ExtensionObject *data, void *callbackContext)
UA_StatusCode UA_Client_HistoryUpdate_replace(UA_Client *client, const UA_NodeId *nodeId, UA_DataValue *value)
UA_StatusCode UA_Client_NamespaceGetIndex(UA_Client *client, UA_String *namespaceUri, UA_UInt16 *namespaceIndex)
Get the namespace-index of a namespace-URI.
UA_StatusCode UA_Client_addReference(UA_Client *client, const UA_NodeId sourceNodeId, const UA_NodeId referenceTypeId, UA_Boolean isForward, const UA_String targetServerUri, const UA_ExpandedNodeId targetNodeId, UA_NodeClass targetNodeClass)
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_END_DECLS
Definition config.h:107
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
uint16_t UA_UInt16
Definition types.h:47
id namespaceUri
Definition types.h:441
UA_EXPORT const UA_NodeId UA_NODEID_NULL
uint32_t UA_UInt32
Definition types.h:57
id namespaceIndex
Definition types.h:338
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_NODEID
NodeId.
#define UA_TYPES_VARIANT
Variant.
#define UA_TYPES_UINT32
UInt32.
#define UA_TYPES_NODECLASS
#define UA_TYPES_VIEWATTRIBUTES
#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_DATAVALUE
DataValue.
#define UA_TYPES_VARIABLEATTRIBUTES
#define UA_TYPES_OBJECTTYPEATTRIBUTES
#define UA_TYPES_VARIABLETYPEATTRIBUTES
UA_TimestampsToReturn
TimestampsToReturn.
#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