High Performance OPC UA Server SDK  1.2.0.193
ua_contentfilter Struct Reference

Defines a collection of elements that define filtering criteria. More...

#include <contentfilter.h>

Data Fields

struct ua_contentfilterelementelements
 List of operators and their operands that compose the filter criteria. More...
 
int32_t num_elements
 Number of elements in ua_contentfilter::elements.
 

Related Functions

void ua_contentfilter_init (struct ua_contentfilter *t)
 Initialize an ua_contentfilter struct with a valid value. More...
 
void ua_contentfilter_clear (struct ua_contentfilter *t)
 Clear all resources alloctated in an ua_contentfilter struct. More...
 
int ua_contentfilter_compare (const struct ua_contentfilter *a, const struct ua_contentfilter *b)
 Compare two ua_contentfilter structs. More...
 
int ua_contentfilter_copy (struct ua_contentfilter *dst, const struct ua_contentfilter *src)
 Create a copy of a ua_contentfilter struct. More...
 
static int ua_contentfilter_resize_elements_array (struct ua_contentfilter *val, int32_t new_len)
 Resize the elements array of a ua_contentfilter struct. More...
 

Detailed Description

Defines a collection of elements that define filtering criteria.

Each element in the collection describes an operator and an array of operands to be used by the operator. See ua_filteroperator for a description of the operators that can be used in a ContentFilter. The filter is evaluated by evaluating the first entry in the element array starting with the first operand in the operand array. The operands of an element may contain References to subelements resulting in the evaluation continuing to the referenced elements in the element array. If an element cannot be traced back to the starting element it is ignored. Extra operands for any operator shall result in an error.

Friends And Related Function Documentation

void ua_contentfilter_clear ( struct ua_contentfilter t)
related

Clear all resources alloctated in an ua_contentfilter struct.

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

int ua_contentfilter_compare ( const struct ua_contentfilter a,
const struct ua_contentfilter b 
)
related

Compare two ua_contentfilter structs.

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

int ua_contentfilter_copy ( struct ua_contentfilter dst,
const struct ua_contentfilter src 
)
related

Create a copy of a ua_contentfilter struct.

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

Initialize an ua_contentfilter 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_contentfilter struct can also be passed to ua_contentfilter_compare, ua_contentfilter_copy and ua_contentfilter_clear. This function will always succeed as long as an ua_contentfilter struct is passed to it.

static int ua_contentfilter_resize_elements_array ( struct ua_contentfilter val,
int32_t  new_len 
)
related

Resize the elements array of a ua_contentfilter struct.

Depending on new_len and the current size of the array, the array will be created, increased, decreased or deleted. In case array members are removed these are cleared properly, new array members are initialized with zero.

Parameters
new_lenNew length of the elements array in number of members.
Returns
Zero on success or ua_statuscode on failure.

Field Documentation

elements

List of operators and their operands that compose the filter criteria.

The filter is evaluated by starting with the first entry in this array.


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