High Performance OPC UA Server SDK  1.2.1.203
uaprovider

Modules

 internal_provider
 Implementation of service handler functions by the SDK.
 

Data Structures

struct  uaprovider_servicehook_ctx
 
struct  uaprovider_read_ctx
 Context given to the read service handler. More...
 
struct  uaprovider_write_ctx
 Context given to the write service handler. More...
 
struct  uaprovider_registernodes_ctx
 Context given to the registernodes service handler. More...
 
struct  uaprovider_unregisternodes_ctx
 Context given to the unregisternodes service handler. More...
 
struct  uaprovider_call_ctx
 Context given to the call service handler. More...
 
struct  uaprovider_subscribe_ctx
 Context given to the subscribe handler. More...
 
struct  uaprovider
 Provider context. More...
 

Macros

#define MAX_NAMESPACES_PER_PROVIDER   5
 Maximum number of namespaces per provider.
 

Typedefs

typedef int(* uaprovider_init_func )(struct uaprovider *ctx)
 Provider initialization function that must be implemented by each provider. More...
 

Functions

void uaserver_read_complete (struct uaprovider_read_ctx *ctx)
 Function to be called when a read service handler has finished handling all the nodes it is responsible for. More...
 
void uaserver_write_complete (struct uaprovider_write_ctx *ctx)
 Function to be called when a write service handler has finished handling all the nodes it is responsible for. More...
 
void uaserver_call_complete (struct uaprovider_call_ctx *ctx)
 Function to be called when a call service handler has finished executing all the methods it is responsible for. More...
 
void uaserver_registernodes_complete (struct uaprovider_registernodes_ctx *ctx)
 Function to be called when a registernodes service handler has finished handling all the nodes it is responsible for. More...
 
void uaserver_unregisternodes_complete (struct uaprovider_unregisternodes_ctx *ctx)
 Function to be called when a unregisternodes service handler has finished handling all the nodes it is responsible for. More...
 
void uaserver_subscribe_complete (struct uaprovider_subscribe_ctx *ctx)
 Function to be called when a subscribe handler has finished his monitored item operations. More...
 
void uaprovider_node_delete (ua_node_t node, uint16_t nsidx)
 This function informs the provider which owns the node about its deletion. More...
 
void uaprovider_service_hook (const struct uaprovider_servicehook_ctx *service)
 This function informs all providers about a service the will be called. More...
 
void uaprovider_session_event (enum uasession_event_type type, uint32_t channel_id, struct uasession_session *session)
 Sends the current session event to all providers which if registered this callback. More...
 
struct uaprovider_read_ctxuaprovider_read_ctx_init (struct uasession_msg_ctxt *session_msg_ctxt)
 
void uaprovider_read (struct uaprovider_read_ctx *ctx)
 
struct uaprovider_write_ctxuaprovider_write_ctx_init (struct uasession_msg_ctxt *session_msg_ctxt)
 
void uaprovider_write (struct uaprovider_write_ctx *ctx)
 
struct
uaprovider_registernodes_ctx
uaprovider_registernodes_ctx_init (struct uasession_msg_ctxt *session_msg_ctxt)
 
void uaprovider_registernodes (struct uaprovider_registernodes_ctx *ctx)
 
struct
uaprovider_unregisternodes_ctx
uaprovider_unregisternodes_ctx_init (struct uasession_msg_ctxt *session_msg_ctxt)
 
void uaprovider_unregisternodes (struct uaprovider_unregisternodes_ctx *ctx)
 
struct uaprovider_call_ctxuaprovider_call_ctx_init (struct uasession_msg_ctxt *session_msg_ctxt)
 
void uaprovider_call (struct uaprovider_call_ctx *ctx)
 
ua_statuscode uaprovider_add_item (struct ua_monitoreditem *item, uint32_t max_items)
 
ua_statuscode uaprovider_remove_item (struct ua_monitoreditem *item, uint32_t max_items)
 
ua_statuscode uaprovider_modify_item (struct ua_monitoreditem *item, uint32_t max_items, uint32_t new_sampling_interval)
 
struct uaprovider_subscribe_ctxuaprovider_subscribe_ctx_create (void)
 
void uaprovider_subscribe_ctx_delete (struct uaprovider_subscribe_ctx *ctx)
 
void uaprovider_subscribe (struct uaprovider_subscribe_ctx *ctx)
 
int uaprovider_load (uaprovider_init_func init)
 
int uaprovider_unload (int hProvider)
 
int uaprovider_register_nsindex (struct uaprovider *ctx, uint16_t nsidx)
 Register a namespace index for a provider. More...
 
bool uaprovider_contains_namespace (struct uaprovider *ctx, uint16_t nsidx)
 Test if a provider has registered a namespace index. More...
 
void uaprovider_set_user_data (struct uaprovider *ctx, void *userdata)
 Stores the given userdata in the provider context ctx. More...
 
void * uaprovider_get_user_data (struct uaprovider *ctx)
 Returns the userdata stored the provider context ctx. More...
 

Detailed Description

Typedef Documentation

typedef int(* uaprovider_init_func)(struct uaprovider *ctx)

Provider initialization function that must be implemented by each provider.

Function Documentation

bool uaprovider_contains_namespace ( struct uaprovider ctx,
uint16_t  nsidx 
)

Test if a provider has registered a namespace index.

Parameters
ctxContext of the provider.
nsidxNamespace index test.
Returns
True if the provider is responsible for the namespace index.
void* uaprovider_get_user_data ( struct uaprovider ctx)

Returns the userdata stored the provider context ctx.

See also
uaprovider_set_user_data
void uaprovider_node_delete ( ua_node_t  node,
uint16_t  nsidx 
)

This function informs the provider which owns the node about its deletion.

This function is synchronous.

int uaprovider_register_nsindex ( struct uaprovider ctx,
uint16_t  nsidx 
)

Register a namespace index for a provider.

Parameters
ctxContext of the provider.
nsidxNamespace index to register.
Returns
Zero on success or errorcode on failure.
void uaprovider_service_hook ( const struct uaprovider_servicehook_ctx ctx)

This function informs all providers about a service the will be called.

This function is synchronous.

void uaprovider_session_event ( enum uasession_event_type  type,
uint32_t  channel_id,
struct uasession_session session 
)

Sends the current session event to all providers which if registered this callback.

This function is synchronous.

Parameters
typeThe session event type.
channel_idThe channel associated with this event.
sessionThe session associated with this event. May be NULL if no session exists for the channel triggering the event.
void uaprovider_set_user_data ( struct uaprovider ctx,
void *  userdata 
)

Stores the given userdata in the provider context ctx.

See also
uaprovider_get_user_data
void uaserver_call_complete ( struct uaprovider_call_ctx ctx)

Function to be called when a call service handler has finished executing all the methods it is responsible for.

Parameters
ctxContext of the service call that is finished.
void uaserver_read_complete ( struct uaprovider_read_ctx ctx)

Function to be called when a read service handler has finished handling all the nodes it is responsible for.

Parameters
ctxContext of the service call that is finished.
void uaserver_registernodes_complete ( struct uaprovider_registernodes_ctx ctx)

Function to be called when a registernodes service handler has finished handling all the nodes it is responsible for.

Parameters
ctxContext of the service call that is finished.
void uaserver_subscribe_complete ( struct uaprovider_subscribe_ctx ctx)

Function to be called when a subscribe handler has finished his monitored item operations.

Parameters
ctxContext of the subscribe call that is finished.
void uaserver_unregisternodes_complete ( struct uaprovider_unregisternodes_ctx ctx)

Function to be called when a unregisternodes service handler has finished handling all the nodes it is responsible for.

Parameters
ctxContext of the service call that is finished.
void uaserver_write_complete ( struct uaprovider_write_ctx ctx)

Function to be called when a write service handler has finished handling all the nodes it is responsible for.

Parameters
ctxContext of the service call that is finished.