High Performance OPC UA Server SDK  1.2.0.193
ua_uint32store Struct Reference

Implementation of a store using in-memory uint32 values. More...

#include <uint32store.h>

Public Member Functions

static void ua_uint32store_get_value (void *uint32store, ua_node_t node, unsigned int idx, bool source_ts, struct ua_indexrange *range, unsigned int num_ranges, struct ua_datavalue *result)
 
static ua_statuscode ua_uint32store_attach_value (void *uint32store, ua_node_t node, unsigned int idx, struct ua_indexrange *range, unsigned int num_ranges, struct ua_datavalue *value)
 
int ua_uint32store_register_node (struct ua_uint32store *store, uint32_t initial_value, ua_node_t node)
 Registers the given node in the uint32store. More...
 
uint32_t * ua_uint32store_clear (struct ua_uint32store *store)
 Clears the given store. More...
 
int ua_uint32store_init (struct ua_uint32store *store, uint8_t storeidx, uint32_t *values, unsigned int num_values)
 Initializes the uint32_t store. More...
 
uint8_t ua_uint32store_get_storeindex (struct ua_uint32store *store)
 Get the storeindex of a memorystore.
 

Data Fields

uint32_t * values
 Array with values.
 
unsigned int num_values
 Number of currently used values.
 
unsigned int max_values
 Number of elements in the array.
 
uint8_t storeidx
 Index of the store.
 

Detailed Description

Implementation of a store using in-memory uint32 values.

A new uint32store must be initialized with a user provided array of uint32 values using ua_uint32store_init(). The number of elements in the array is the capacity of the store. Then variables can be registered using ua_uint32store_register_node(), which connects the variable value attribute with one store element.

The raw uint32 array is the data source of this store and can be directly accessed to set new uint32 values.

Member Function Documentation

static ua_statuscode ua_uint32store_attach_value ( void *  uint32store,
ua_node_t  node,
unsigned int  idx,
struct ua_indexrange range,
unsigned int  num_ranges,
struct ua_datavalue value 
)

Implementation of the ua_store_attach function for the uint32store.

uint32_t * ua_uint32store_clear ( struct ua_uint32store store)

Clears the given store.

Parameters
storePointer to store context.
Returns
The values array passed in ua_uint32store_init.
static void ua_uint32store_get_value ( void *  uint32store,
ua_node_t  node,
unsigned int  idx,
bool  source_ts,
struct ua_indexrange range,
unsigned int  num_ranges,
struct ua_datavalue result 
)

Implementation of the ua_store_get function for the uint32store.

int ua_uint32store_init ( struct ua_uint32store store,
uint8_t  storeidx,
uint32_t *  values,
unsigned int  num_values 
)

Initializes the uint32_t store.

Parameters
storePointer to store context.
storeidxRequested store index. 0 = auto assign new index.
valuesArray of uint32_t values.
num_valuesArray size of values.
Returns
Zero on success or errorcode on failure.
int ua_uint32store_register_node ( struct ua_uint32store store,
uint32_t  initial_value,
ua_node_t  node 
)

Registers the given node in the uint32store.

This allocated a new slot in the real store and assigns the correct value_index to the node.

Parameters
storeContext of the uint32store.
initial_valueInitial value for this variable.
nodeHandle of node associated with the value.
Returns
Zero on success or errorcode on failure.

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