High Performance OPC UA Server SDK  1.2.0.193
ua_createmonitoreditemsrequest Struct Reference

Asynchronous call to create a list of monitored items in the subscription. More...

#include <createmonitoreditemsrequest.h>

Data Fields

uint32_t subscription_id
 The Server-assigned identifier for the Subscription that will report Notifications for this MonitoredItem.
 
enum ua_timestampstoreturn ts
 An enumeration that specifies the timestamp Attributes to be transmitted for each MonitoredItem. More...
 
struct
ua_monitoreditemcreaterequest
items_to_create
 A list of MonitoredItems to be created and assigned to the specified Subscription.
 
int32_t num_items_to_create
 Number of elements in ua_createmonitoreditemsrequest::items_to_create.
 

Related Functions

void ua_createmonitoreditemsrequest_init (struct ua_createmonitoreditemsrequest *t)
 Initialize an ua_createmonitoreditemsrequest struct with a valid value. More...
 
void ua_createmonitoreditemsrequest_clear (struct ua_createmonitoreditemsrequest *t)
 Clear all resources alloctated in an ua_createmonitoreditemsrequest struct. More...
 
int ua_createmonitoreditemsrequest_compare (const struct ua_createmonitoreditemsrequest *a, const struct ua_createmonitoreditemsrequest *b)
 Compare two ua_createmonitoreditemsrequest structs. More...
 
int ua_createmonitoreditemsrequest_copy (struct ua_createmonitoreditemsrequest *dst, const struct ua_createmonitoreditemsrequest *src)
 Create a copy of a ua_createmonitoreditemsrequest struct. More...
 
static int ua_createmonitoreditemsrequest_resize_items_to_create_array (struct ua_createmonitoreditemsrequest *val, int32_t new_len)
 Resize the items_to_create array of a ua_createmonitoreditemsrequest struct. More...
 

Detailed Description

Asynchronous call to create a list of monitored items in the subscription.

This service is used to create and add one or more MonitoredItems to a Subscription. A MonitoredItem is deleted automatically by the Server when the Subscription is deleted. Deleting a MonitoredItem causes its entire set of triggered item links to be deleted, but has no effect on the MonitoredItems referenced by the triggered items.

Calling the CreateMonitoredItems service repetitively to add a small number of MonitoredItems each time may adversely affect the performance of the Server. Instead, Clients should add a complete set of MonitoredItems to a Subscription whenever possible.

When a user adds a monitored item that the user is denied read access to, the add operation for the item shall succeed and the bad status Bad_NotReadable or Bad_UserAccessDenied shall be returned in the Publish response. This is the same behaviour for the case where the access rights are changed after the call to CreateMonitoredItems. If the access rights change to read rights, the Server shall start sending data for the MonitoredItem. The same procedure shall be applied for an IndexRange that does not deliver data for the current value but could deliver data in the future.

Monitored Nodes can be removed from the AddressSpace after the creation of a MonitoredItem. This does not affect the validity of the MonitoredItem but a Bad_NodeIdUnknown shall be returned in the Publish response.

The return diagnostic info setting in the request header of the CreateMonitoredItems or the last ModifyMonitoredItems Service is applied to the Monitored Items and is used as the diagnostic information settings when sending notifications in the Publish response.

Illegal request values for parameters that can be revised do not generate errors. Instead, the server will choose default values and indicate them in the corresponding revised parameter.

Friends And Related Function Documentation

void ua_createmonitoreditemsrequest_clear ( struct ua_createmonitoreditemsrequest t)
related

Clear all resources alloctated in an ua_createmonitoreditemsrequest struct.

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

int ua_createmonitoreditemsrequest_compare ( const struct ua_createmonitoreditemsrequest a,
const struct ua_createmonitoreditemsrequest b 
)
related

Compare two ua_createmonitoreditemsrequest structs.

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

int ua_createmonitoreditemsrequest_copy ( struct ua_createmonitoreditemsrequest dst,
const struct ua_createmonitoreditemsrequest src 
)
related

Create a copy of a ua_createmonitoreditemsrequest struct.

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

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

static int ua_createmonitoreditemsrequest_resize_items_to_create_array ( struct ua_createmonitoreditemsrequest val,
int32_t  new_len 
)
related

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

Field Documentation

ts

An enumeration that specifies the timestamp Attributes to be transmitted for each MonitoredItem.

When monitoring Events, this applies only to Event fields that are of type DataValue.


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