High Performance OPC UA Server SDK  1.2.0.193
ua_browserequest Struct Reference

The Browse service is used by a client to navigate through the address space by passing a starting node and browse filters. More...

#include <browserequest.h>

Data Fields

struct ua_viewdescription view
 Description of the View to browse. More...
 
uint32_t requested_max_references_per_node
 Indicates the maximum number of references to return for each starting Node specified in the request. More...
 
struct ua_browsedescriptionnodes
 A list of nodes to Browse.
 
int32_t num_nodes
 Number of elements in ua_browserequest::nodes.
 

Related Functions

void ua_browserequest_init (struct ua_browserequest *t)
 Initialize an ua_browserequest struct with a valid value. More...
 
void ua_browserequest_clear (struct ua_browserequest *t)
 Clear all resources alloctated in an ua_browserequest struct. More...
 
int ua_browserequest_compare (const struct ua_browserequest *a, const struct ua_browserequest *b)
 Compare two ua_browserequest structs. More...
 
int ua_browserequest_copy (struct ua_browserequest *dst, const struct ua_browserequest *src)
 Create a copy of a ua_browserequest struct. More...
 
static int ua_browserequest_resize_nodes_array (struct ua_browserequest *val, int32_t new_len)
 Resize the nodes array of a ua_browserequest struct. More...
 

Detailed Description

The Browse service is used by a client to navigate through the address space by passing a starting node and browse filters.

The server returns the list of referenced nodes matching the filter criteria.

The Browse service takes a list of starting nodes and returns a list of connected nodes for each starting node. Nevertheless, most clients will only pass one starting node for the main purpose of building a tree hierarchy. Since the OPC UA address space can be a full-meshed network and is not limited to a pure hierarchy, the capability to pass in a list of starting nodes is mainly used to browse metadata like the properties of a list of variables.

Friends And Related Function Documentation

void ua_browserequest_clear ( struct ua_browserequest t)
related

Clear all resources alloctated in an ua_browserequest struct.

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

int ua_browserequest_compare ( const struct ua_browserequest a,
const struct ua_browserequest b 
)
related

Compare two ua_browserequest structs.

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

int ua_browserequest_copy ( struct ua_browserequest dst,
const struct ua_browserequest src 
)
related

Create a copy of a ua_browserequest struct.

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

Initialize an ua_browserequest 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_browserequest struct can also be passed to ua_browserequest_clear. This function will always succeed as long as an ua_browserequest struct is passed to it.

static int ua_browserequest_resize_nodes_array ( struct ua_browserequest val,
int32_t  new_len 
)
related

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

Field Documentation

requested_max_references_per_node

Indicates the maximum number of references to return for each starting Node specified in the request.

The value 0 indicates that the Client is imposing no limitation.

view

Description of the View to browse.

An empty ViewDescription value indicates the entire address space. If ViewDescription is empty, all references of the node to browse are returned. If any other view is specified, only the references of the node to browse that are defined for that view are returned.


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