High Performance OPC UA Server SDK
1.2.0.193
|
Defines a collection of elements that define filtering criteria. More...
#include <contentfilter.h>
Data Fields | |
struct ua_contentfilterelement * | elements |
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... | |
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.
|
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.
|
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.
|
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.
|
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.
|
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.
new_len | New length of the elements array in number of members. |
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.