High Performance OPC UA Server SDK  1.2.0.193
ua_argument Struct Reference

Defines a method input or output argument specification. More...

#include <argument.h>

Data Fields

struct ua_string name
 The name of the argument.
 
struct ua_nodeid data_type
 The NodeId of the DataType of this argument.
 
int32_t value_rank
 Indicates whether the DataType is an array and how many dimensions the array has. More...
 
uint32_t * array_dimensions
 Specifies the length of each dimension for an array dataType. More...
 
int32_t num_array_dimensions
 Number of elements in ua_argument::array_dimensions.
 
struct ua_localizedtext description
 A localised description of the argument.
 

Related Functions

void ua_argument_init (struct ua_argument *t)
 Initialize an ua_argument struct with a valid value. More...
 
void ua_argument_clear (struct ua_argument *t)
 Clear all resources alloctated in an ua_argument struct. More...
 
int ua_argument_compare (const struct ua_argument *a, const struct ua_argument *b)
 Compare two ua_argument structs. More...
 
int ua_argument_copy (struct ua_argument *dst, const struct ua_argument *src)
 Create a copy of a ua_argument struct. More...
 
static int ua_argument_resize_array_dimensions_array (struct ua_argument *val, int32_t new_len)
 Resize the array_dimensions array of a ua_argument struct. More...
 

Detailed Description

Defines a method input or output argument specification.

It is for example used in the input and output argument Properties for methods.

Friends And Related Function Documentation

void ua_argument_clear ( struct ua_argument t)
related

Clear all resources alloctated in an ua_argument struct.

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

int ua_argument_compare ( const struct ua_argument a,
const struct ua_argument b 
)
related

Compare two ua_argument structs.

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

int ua_argument_copy ( struct ua_argument dst,
const struct ua_argument src 
)
related

Create a copy of a ua_argument struct.

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

Initialize an ua_argument 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_argument struct can also be passed to ua_argument_compare, ua_argument_copy and ua_argument_clear. This function will always succeed as long as an ua_argument struct is passed to it.

static int ua_argument_resize_array_dimensions_array ( struct ua_argument val,
int32_t  new_len 
)
related

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

Field Documentation

array_dimensions

Specifies the length of each dimension for an array dataType.

It is intended to describe the capability of the DataType, not the current size.

The number of elements shall be equal to the value of the valueRank. Shall be null if valueRank ≦ 0.

A value of 0 for an individual dimension indicates that the dimension has a variable length.

value_rank

Indicates whether the DataType is an array and how many dimensions the array has.

It may have the following values:

n > 1
The DataType is an array with the specified number of dimensions.
OneDimension (1)
The DataType is an array with one dimension.
OneOrMoreDimensions (0)
The dataType is an array with one or more dimensions.
Scalar (−1)
The DataType is not an array.
Any (−2)
The DataType can be a scalar or an array with any number of dimensions.
ScalarOrOneDimension (−3)
The DataType can be a scalar or a one dimensional array.
Note
All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.

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