High Performance OPC UA Server SDK  1.2.0.193
ua_elementoperand Struct Reference

Provides the linking to subelements within a ua_contentfilter. More...

#include <elementoperand.h>

Data Fields

uint32_t index
 Index into the element array.
 

Related Functions

void ua_elementoperand_init (struct ua_elementoperand *t)
 Initialize an ua_elementoperand struct with a valid value. More...
 
void ua_elementoperand_clear (struct ua_elementoperand *t)
 Clear all resources alloctated in an ua_elementoperand struct. More...
 
int ua_elementoperand_compare (const struct ua_elementoperand *a, const struct ua_elementoperand *b)
 Compare two ua_elementoperand structs. More...
 
int ua_elementoperand_copy (struct ua_elementoperand *dst, const struct ua_elementoperand *src)
 Create a copy of a ua_elementoperand struct. More...
 

Detailed Description

Provides the linking to subelements within a ua_contentfilter.

The link is in the form of an integer that is used to index into the array of elements contained in the ua_contentfilter. An index is considered valid if its value is greater than the element index it is part of and it does not reference a non-existent element. Clients shall construct filters in this way to avoid circular and invalid references. Servers should protect against invalid indexes by verifying the index prior to using it.

Friends And Related Function Documentation

void ua_elementoperand_clear ( struct ua_elementoperand t)
related

Clear all resources alloctated in an ua_elementoperand struct.

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

int ua_elementoperand_compare ( const struct ua_elementoperand a,
const struct ua_elementoperand b 
)
related

Compare two ua_elementoperand structs.

Compares the content of the ua_elementoperand struct a to the content of the ua_elementoperand 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_elementoperand structs, so it is well suited to not only determine equality, but also sort multiple instances of this struct.

int ua_elementoperand_copy ( struct ua_elementoperand dst,
const struct ua_elementoperand src 
)
related

Create a copy of a ua_elementoperand struct.

Copy all fields from struct ua_elementoperand 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_elementoperand_init ( struct ua_elementoperand t)
related

Initialize an ua_elementoperand 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_elementoperand struct can also be passed to ua_elementoperand_compare, ua_elementoperand_copy and ua_elementoperand_clear. This function will always succeed as long as an ua_elementoperand struct is passed to it.


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