High Performance OPC UA Server SDK  1.1.0.158
internal_provider

Implementation of service handler functions by the SDK. More...

Functions

void uaprovider_internal_browse (struct uaprovider_browse_ctx *ctx)
 Implementation of the browse service handler. More...
 
void uaprovider_internal_browsenext (struct uaprovider_browsenext_ctx *ctx)
 Implementation of the browsenext service handler. More...
 
void uaprovider_internal_read (struct uaprovider_read_ctx *ctx)
 Implementation of the read service handler. More...
 
void uaprovider_internal_registernodes (struct uaprovider_registernodes_ctx *ctx)
 Implementation of the register nodes service handler. More...
 
void uaprovider_internal_unregisternodes (struct uaprovider_unregisternodes_ctx *ctx)
 Implementation of the unregister nodes service handler. More...
 
ua_statuscode uaprovider_internal_add_item (struct ua_monitoreditem *item, uint32_t max_items)
 Implementation of the add monitoreditem operation. More...
 
ua_statuscode uaprovider_internal_remove_item (struct ua_monitoreditem *item, uint32_t max_items)
 Implementation of the remove monitoreditem operation. More...
 
ua_statuscode uaprovider_internal_modify_item (struct ua_monitoreditem *item, uint32_t max_items, uint32_t new_sampling_interval)
 Implementation of the modify monitoreditem operation. More...
 
void uaprovider_internal_subscribe (struct uaprovider_subscribe_ctx *ctx)
 Implementation of the subscribe handler. More...
 
void uaprovider_internal_translate (struct uaprovider_translate_ctx *ctx)
 Implementation of the translate_browsepaths_to_nodeids service handler. More...
 
void uaprovider_internal_write (struct uaprovider_write_ctx *ctx)
 Implementation of the write service handler. More...
 

Detailed Description

Implementation of service handler functions by the SDK.

Function Documentation

ua_statuscode uaprovider_internal_add_item ( struct ua_monitoreditem item,
uint32_t  max_items 
)

Implementation of the add monitoreditem operation.

A timer is used to poll the attribute with the samplinginterval, so each monitoreditem added with this function consumes one timer. The value is read from the valuestore, so a provider using this function must implement its values in a store.

Parameters
itemMonitoreditem to add.
Returns
Statuscode indicating the result of the operation.
See also
uaprovider_internal_subscribe
void uaprovider_internal_browse ( struct uaprovider_browse_ctx *  ctx)

Implementation of the browse service handler.

This uses the SDK NodeMgt API to implement the browse service.

Parameters
ctxBrowse context.
void uaprovider_internal_browsenext ( struct uaprovider_browsenext_ctx *  ctx)

Implementation of the browsenext service handler.

This uses the SDK NodeMgt API to implement the browsenext service.

Parameters
ctxBrowseNext context.
ua_statuscode uaprovider_internal_modify_item ( struct ua_monitoreditem item,
uint32_t  max_items,
uint32_t  new_sampling_interval 
)

Implementation of the modify monitoreditem operation.

Modify a monitoreditem added with uaprovider_internal_add_item.

Parameters
itemMonitoreditem to add.
new_sampling_intervalNew sampling interval of the monitoreditem.
Returns
Statuscode indicating the result of the operation.
See also
uaprovider_internal_subscribe
void uaprovider_internal_read ( struct uaprovider_read_ctx ctx)

Implementation of the read service handler.

This implementation uses the SDK store infrastructure to read the value attribute, so it can be used by any provider that allows its values to be read by a store.

Parameters
ctxRead context.
void uaprovider_internal_registernodes ( struct uaprovider_registernodes_ctx ctx)

Implementation of the register nodes service handler.

Uses uaserver_registernode_internal to register nodes. It is intended to be used with uaprovider_internal_unregisternodes.

Parameters
ctxRegister nodes context.
ua_statuscode uaprovider_internal_remove_item ( struct ua_monitoreditem item,
uint32_t  max_items 
)

Implementation of the remove monitoreditem operation.

Counterpart of uaprovider_internal_add_item.

Parameters
itemMonitoreditem to remove.
Returns
Statuscode indicating the result of the operation.
See also
uaprovider_internal_subscribe
void uaprovider_internal_subscribe ( struct uaprovider_subscribe_ctx ctx)

Implementation of the subscribe handler.

To be used with:

Parameters
ctxSubscribe context.
void uaprovider_internal_translate ( struct uaprovider_translate_ctx *  ctx)

Implementation of the translate_browsepaths_to_nodeids service handler.

This uses the SDK NodeMgt API to implement the translate service.

Parameters
ctxTranslate context.
void uaprovider_internal_unregisternodes ( struct uaprovider_unregisternodes_ctx ctx)

Implementation of the unregister nodes service handler.

Counterpart of uaprovider_internal_registernodes.

Parameters
ctxUnregister nodes context.
void uaprovider_internal_write ( struct uaprovider_write_ctx ctx)

Implementation of the write service handler.

This implementation uses the SDK store infrastructure to write the value attribute, so it can be used by any provider that allows its values to be written by a store. Writing of other attributes than value is not implemented.

Parameters
ctxWrite context.