High Performance OPC UA Server SDK  1.2.0.193
ua_readattimedetails Struct Reference

Selects a set of raw or interpolated values from the history database by specifying a series of timestamps for one or more variables. More...

#include <readattimedetails.h>

Data Fields

ua_datetimereq_times
 Defines the specific timestamps for which values are to be read.
 
int32_t num_req_times
 Number of elements in ua_readattimedetails::req_times.
 
bool use_simple_bounds
 Use simple bounds to determine the value at the specific timestamp.
 

Related Functions

void ua_readattimedetails_init (struct ua_readattimedetails *t)
 Initialize an ua_readattimedetails struct with a valid value. More...
 
void ua_readattimedetails_clear (struct ua_readattimedetails *t)
 Clear all resources alloctated in an ua_readattimedetails struct. More...
 
int ua_readattimedetails_compare (const struct ua_readattimedetails *a, const struct ua_readattimedetails *b)
 Compare two ua_readattimedetails structs. More...
 
int ua_readattimedetails_copy (struct ua_readattimedetails *dst, const struct ua_readattimedetails *src)
 Create a copy of a ua_readattimedetails struct. More...
 
static int ua_readattimedetails_resize_req_times_array (struct ua_readattimedetails *val, int32_t new_len)
 Resize the req_times array of a ua_readattimedetails struct. More...
 

Detailed Description

Selects a set of raw or interpolated values from the history database by specifying a series of timestamps for one or more variables.

The ReadAtTimeDetails structure reads the values and qualities from the history database for the specified timestamps for one or more HistoricalDataNodes. This function is intended to provide values to correlate with other values with a known timestamp. For example, a Client may need to read the values of sensors when lab samples were collected.

The order of the values and qualities returned shall match the order of the timestamps supplied in the request.

If no value exists for a specified timestamp, a value shall be interpolated from the surrounding values to represent the value at the specified timestamp. The interpolation will follow the same rules as the standard interpolated aggregate as outlined in Part 13 of the OPC UA specification.

If the useSimpleBounds flag is True and interpolation is required, SimpleBounds will be used to calculate the data value.

If a value is found for the specified timestamp, the server will set the StatusCode InfoBits to be Raw. If the value is interpolated from the surrounding values, the server will set the StatusCode InfoBits to be Interpolated.

If the requested timestamp format is not supported for a node, the operation shall return the Bad_TimestampNotSupported StatusCode.

Friends And Related Function Documentation

void ua_readattimedetails_clear ( struct ua_readattimedetails t)
related

Clear all resources alloctated in an ua_readattimedetails struct.

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

int ua_readattimedetails_compare ( const struct ua_readattimedetails a,
const struct ua_readattimedetails b 
)
related

Compare two ua_readattimedetails structs.

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

int ua_readattimedetails_copy ( struct ua_readattimedetails dst,
const struct ua_readattimedetails src 
)
related

Create a copy of a ua_readattimedetails struct.

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

Initialize an ua_readattimedetails 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_readattimedetails struct can also be passed to ua_readattimedetails_compare, ua_readattimedetails_copy and ua_readattimedetails_clear. This function will always succeed as long as an ua_readattimedetails struct is passed to it.

static int ua_readattimedetails_resize_req_times_array ( struct ua_readattimedetails val,
int32_t  new_len 
)
related

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

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