ifw-core 5.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
protocol::opcua::Subscription Class Reference

#include <subscription.hpp>

Public Member Functions

 ~Subscription ()
 
virtual void OnDataChange (const UA_UInt32 monitor_id, UA_DataValue *value)
 Handler of data changes.
 
UA_StatusCode AddMonitoredItem (UA_Client *client, MonitoredItemPtr monitoredItem)
 Add an new monitoring item.
 
UA_StatusCode AddMonitoredItems (UA_Client *client, std::vector< MonitoredItemPtr > &mon_vector, std::string &error_msg)
 Add a vector of monitoring items.
 
UA_StatusCode RemoveMonitoredItems (UA_Client *client, bool connection_active=true)
 RemoveMonitoredItem.
 
virtual void onError ()
 Handler for session communication errors.
 
virtual void onStatusChange (bool status)
 Handler for session status change.
 
UA_StatusCode AddSubscription (UA_Client *client, const UA_CreateSubscriptionRequest &request)
 
UA_UInt32 GetSubscriptionId () const
 Return subscription ID.
 
void SetSubscriptionId (const UA_UInt32 id)
 
 Subscription (IDataChangeHandler *handler)
 Subscription.
 

Static Public Member Functions

static SubscriptionPtr Create (IDataChangeHandler *handler)
 Create a new subscription.
 
static void DataChangesCallback (UA_Client *client, UA_UInt32 subId, void *subContext, UA_UInt32 monId, void *context, UA_DataValue *value)
 
static void DeleteSubscriptionCallback (UA_Client *client, UA_UInt32 subscriptionId, void *subContext)
 

Public Attributes

std::map< std::shared_ptr< MonitoredItem >, std::vector< IDataChangeHandler * > > m_dataChangeHandler
 
std::map< UA_Int32, std::shared_ptr< MonitoredItem > > m_monitored_items
 

Detailed Description

! An overridden Subscription which handles all data changes and events.

Constructor & Destructor Documentation

◆ ~Subscription()

protocol::opcua::Subscription::~Subscription ( )

Destructor

◆ Subscription()

protocol::opcua::Subscription::Subscription ( IDataChangeHandler handler)

Subscription.

Parameters
handler

Member Function Documentation

◆ AddMonitoredItem()

UA_StatusCode protocol::opcua::Subscription::AddMonitoredItem ( UA_Client *  client,
MonitoredItemPtr  monitoredItem 
)

Add an new monitoring item.

Parameters
monitoredItemItem to be monitored
Returns
Status of the monitoring registration of type EnumStatusCode

This is a user defined method which registers a data change handler to to an existing monitored item.

Note
Monitored items added by this method shall be removed by calling RemoveMonitoredItem.
See also
RemoveMonitoredItem

◆ AddMonitoredItems()

UA_StatusCode protocol::opcua::Subscription::AddMonitoredItems ( UA_Client *  client,
std::vector< MonitoredItemPtr > &  mon_vector,
std::string &  error_msg 
)

Add a vector of monitoring items.

Parameters
mon_vectorVector of items to be monitored.
error_msgError message in case of errors.
Returns
Status of the monitoring registration of type EnumStatusCode

This method registers a set of monitored items.

◆ AddSubscription()

UA_StatusCode protocol::opcua::Subscription::AddSubscription ( UA_Client *  client,
const UA_CreateSubscriptionRequest &  request 
)

◆ Create()

SubscriptionPtr protocol::opcua::Subscription::Create ( IDataChangeHandler handler)
static

Create a new subscription.

Parameters
handlerSubscription handler
Returns
Returns a smart pointer to a new Subscription.

This create method ensures that instances are only handled by smart pointer.

◆ DataChangesCallback()

void protocol::opcua::Subscription::DataChangesCallback ( UA_Client *  client,
UA_UInt32  subId,
void *  subContext,
UA_UInt32  monId,
void *  context,
UA_DataValue *  value 
)
static

◆ DeleteSubscriptionCallback()

void protocol::opcua::Subscription::DeleteSubscriptionCallback ( UA_Client *  client,
UA_UInt32  subscriptionId,
void *  subContext 
)
static

◆ GetSubscriptionId()

UA_UInt32 protocol::opcua::Subscription::GetSubscriptionId ( ) const
inline

Return subscription ID.

◆ OnDataChange()

void protocol::opcua::Subscription::OnDataChange ( const UA_UInt32  monitor_id,
UA_DataValue *  value 
)
virtual

Handler of data changes.

Parameters
monitor_idItem generating the change.
valueVector of the data changes.

This method overrides the onDataChange method of the base class.

◆ onError()

void protocol::opcua::Subscription::onError ( )
virtual

Handler for session communication errors.

Parameters
status

◆ onStatusChange()

void protocol::opcua::Subscription::onStatusChange ( bool  status)
virtual

Handler for session status change.

Parameters
status

◆ RemoveMonitoredItems()

UA_StatusCode protocol::opcua::Subscription::RemoveMonitoredItems ( UA_Client *  client,
bool  connection_active = true 
)

RemoveMonitoredItem.

Returns
Status of the removal of type UA_StatusCode

◆ SetSubscriptionId()

void protocol::opcua::Subscription::SetSubscriptionId ( const UA_UInt32  id)
inline

Member Data Documentation

◆ m_dataChangeHandler

std::map<std::shared_ptr<MonitoredItem>, std::vector<IDataChangeHandler*> > protocol::opcua::Subscription::m_dataChangeHandler

◆ m_monitored_items

std::map<UA_Int32, std::shared_ptr<MonitoredItem> > protocol::opcua::Subscription::m_monitored_items

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