High Performance OPC UA Server SDK  1.2.0.193
ua_relativepathelement Struct Reference

A sequence of References and BrowseNames to follow. More...

#include <relativepathelement.h>

Data Fields

struct ua_nodeid reference_type_id
 The type of reference to follow from the current node. More...
 
bool is_inverse
 Indicates whether the inverse Reference should be followed. More...
 
bool include_subtypes
 Indicates whether subtypes of the ReferenceType should be followed. More...
 
struct ua_qualifiedname target_name
 The BrowseName of the target node. More...
 

Related Functions

void ua_relativepathelement_init (struct ua_relativepathelement *t)
 Initialize an ua_relativepathelement struct with a valid value. More...
 
void ua_relativepathelement_clear (struct ua_relativepathelement *t)
 Clear all resources alloctated in an ua_relativepathelement struct. More...
 
int ua_relativepathelement_compare (const struct ua_relativepathelement *a, const struct ua_relativepathelement *b)
 Compare two ua_relativepathelement structs. More...
 
int ua_relativepathelement_copy (struct ua_relativepathelement *dst, const struct ua_relativepathelement *src)
 Create a copy of a ua_relativepathelement struct. More...
 

Detailed Description

A sequence of References and BrowseNames to follow.

Each element in the sequence is processed by finding the targets and then using those targets as the starting nodes for the next element. The targets of the final element are the target of the RelativePath.

Friends And Related Function Documentation

void ua_relativepathelement_clear ( struct ua_relativepathelement t)
related

Clear all resources alloctated in an ua_relativepathelement struct.

Frees allocated memory like arrays and resets numeric values. The ua_relativepathelement struct itself is not freed and must be freed by the caller if required. This function always succeeds for a valid ua_relativepathelement struct, that was validly decoded, initilized by ua_relativepathelement_init or created with ua_relativepathelement_copy.

int ua_relativepathelement_compare ( const struct ua_relativepathelement a,
const struct ua_relativepathelement b 
)
related

Compare two ua_relativepathelement structs.

Compares the content of the ua_relativepathelement struct a to the content of the ua_relativepathelement struct b. If a is smaller than b, an integer less than zero is returned, if a is bigger than b, an integer greater than zero is returned. If both structs are equal zero is returned.

This function creates a total order on ua_relativepathelement structs, so it is well suited to not only determine equality, but also sort multiple instances of this struct.

int ua_relativepathelement_copy ( struct ua_relativepathelement dst,
const struct ua_relativepathelement src 
)
related

Create a copy of a ua_relativepathelement struct.

Copy all fields from struct ua_relativepathelement src to dst. Creates a deep copy so all content is recusively copied and both src and dst can be used and must be freed separately.

dst is not cleared before the copy operation, so it must not have any allocated data. It may or may not be initilized by the caller before copy.

Returns
Zero on success or ua_statuscode on failure.
void ua_relativepathelement_init ( struct ua_relativepathelement t)
related

Initialize an ua_relativepathelement struct with a valid value.

After initialization the fields of the struct are set to valid and consistent values and can safley be accessed. An initialized ua_relativepathelement struct can also be passed to ua_relativepathelement_compare, ua_relativepathelement_copy and ua_relativepathelement_clear. This function will always succeed as long as an ua_relativepathelement struct is passed to it.

Field Documentation

include_subtypes

Indicates whether subtypes of the ReferenceType should be followed.

Subtypes are included if this value is TRUE.

is_inverse

Indicates whether the inverse Reference should be followed.

The inverse reference is followed if this value is TRUE.

reference_type_id

The type of reference to follow from the current node.

The current path cannot be followed any further if the referenceTypeId is not available on the Node instance.

If not specified, then all References are included and the parameter includeSubtypes is ignored.

target_name

The BrowseName of the target node.

The final element may have an empty targetName. In this situation all targets of the references identified by the referenceTypeId are the targets of the RelativePath.

The targetName shall be specified for all other elements.

The current path cannot be followed any further if no targets with the specified BrowseName exist.


The documentation for this struct was generated from the following files: