High Performance OPC UA Server SDK  1.2.0.193
ua_simpleattributeoperand Struct Reference

A simplified form of the ua_attributeoperand. More...

#include <simpleattributeoperand.h>

Data Fields

struct ua_nodeid type_definition_id
 NodeId of a TypeDefinitionNode. More...
 
struct ua_qualifiednamebrowse_path
 A relative path to a Node. More...
 
int32_t num_browse_path
 Number of elements in ua_simpleattributeoperand::browse_path.
 
uint32_t attribute_id
 ID of the Attribute. More...
 
struct ua_string index_range
 This parameter is used to identify a single element of an array, or a single range of indexes for an array. More...
 

Related Functions

void ua_simpleattributeoperand_init (struct ua_simpleattributeoperand *t)
 Initialize an ua_simpleattributeoperand struct with a valid value. More...
 
void ua_simpleattributeoperand_clear (struct ua_simpleattributeoperand *t)
 Clear all resources alloctated in an ua_simpleattributeoperand struct. More...
 
int ua_simpleattributeoperand_compare (const struct ua_simpleattributeoperand *a, const struct ua_simpleattributeoperand *b)
 Compare two ua_simpleattributeoperand structs. More...
 
int ua_simpleattributeoperand_copy (struct ua_simpleattributeoperand *dst, const struct ua_simpleattributeoperand *src)
 Create a copy of a ua_simpleattributeoperand struct. More...
 
static int ua_simpleattributeoperand_resize_browse_path_array (struct ua_simpleattributeoperand *val, int32_t new_len)
 Resize the browse_path array of a ua_simpleattributeoperand struct. More...
 

Detailed Description

A simplified form of the ua_attributeoperand.

All of the rules that apply to the ua_attributeoperand also apply to the SimpleAttributeOperand.

Friends And Related Function Documentation

void ua_simpleattributeoperand_clear ( struct ua_simpleattributeoperand t)
related

Clear all resources alloctated in an ua_simpleattributeoperand struct.

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

int ua_simpleattributeoperand_compare ( const struct ua_simpleattributeoperand a,
const struct ua_simpleattributeoperand b 
)
related

Compare two ua_simpleattributeoperand structs.

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

int ua_simpleattributeoperand_copy ( struct ua_simpleattributeoperand dst,
const struct ua_simpleattributeoperand src 
)
related

Create a copy of a ua_simpleattributeoperand struct.

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

Initialize an ua_simpleattributeoperand 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_simpleattributeoperand struct can also be passed to ua_simpleattributeoperand_compare, ua_simpleattributeoperand_copy and ua_simpleattributeoperand_clear. This function will always succeed as long as an ua_simpleattributeoperand struct is passed to it.

static int ua_simpleattributeoperand_resize_browse_path_array ( struct ua_simpleattributeoperand val,
int32_t  new_len 
)
related

Resize the browse_path array of a ua_simpleattributeoperand 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 browse_path array in number of members.
Returns
Zero on success or ua_statuscode on failure.

Field Documentation

attribute_id

ID of the Attribute.

The Value attribute shall be supported by all Servers. The support of other attributes depends on requirements set in Profiles or other parts of this specification.

browse_path

A relative path to a Node.

This parameter specifies a relative path using a list of browse names instead of the ua_relativepath structure used in the ua_attributeoperand. The list of browse names is equivalent to a relative path that specifies forward references which are subtypes of the HierarchicalReferences reference type.

All nodes followed by the browsePath shall be of the NodeClass object or variable.

If this list is empty, the node is the instance of the TypeDefinition.

index_range

This parameter is used to identify a single element of an array, or a single range of indexes for an array.

The first element is identified by index 0 (zero).

This parameter is ignored if the selected node is not a variable or the value of a variable is not an array.

The parameter is null if not specified.

All values in the array are used if this parameter is not specified.

type_definition_id

NodeId of a TypeDefinitionNode.

This parameter restricts the operand to instances of the TypeDefinitionNode or one of its subtypes.


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