9 #ifndef CORE_PROTOCOL_OPEN62541_SUBSCRIPTION_H_
10 #define CORE_PROTOCOL_OPEN62541_SUBSCRIPTION_H_
22 #include <open62541.h>
27 class IDataChangeHandler;
60 const UA_UInt32 monitor_id,
90 std::vector<MonitoredItemPtr>& mon_vector,
91 std::string& error_msg);
116 UA_StatusCode
AddSubscription(UA_Client *client,
const UA_CreateSubscriptionRequest& request);
122 return m_subscription_id;
126 m_subscription_id = id;
136 std::map<std::shared_ptr<MonitoredItem>,
147 UA_DataValue *value);
152 UA_Int32 m_subscription_id;
The IDataChangeHandler class Defines an entry point for data change notifications.
Definition: iDataChangeHandler.hpp:35
Definition: subscription.hpp:36
std::map< std::shared_ptr< MonitoredItem >, std::vector< IDataChangeHandler * > > m_dataChangeHandler
Definition: subscription.hpp:137
UA_StatusCode AddMonitoredItems(UA_Client *client, std::vector< MonitoredItemPtr > &mon_vector, std::string &error_msg)
Add a vector of monitoring items.
Definition: subscription.cpp:49
UA_StatusCode AddMonitoredItem(UA_Client *client, MonitoredItemPtr monitoredItem)
Add an new monitoring item.
Definition: subscription.cpp:32
static void DeleteSubscriptionCallback(UA_Client *client, UA_UInt32 subscriptionId, void *subContext)
Definition: subscription.cpp:206
virtual void OnDataChange(const UA_UInt32 monitor_id, UA_DataValue *value)
Handler of data changes.
Definition: subscription.cpp:156
virtual void onStatusChange(bool status)
Handler for session status change.
Definition: subscription.cpp:174
UA_UInt32 GetSubscriptionId() const
Return subscription ID.
Definition: subscription.hpp:121
std::map< UA_Int32, std::shared_ptr< MonitoredItem > > m_monitored_items
Definition: subscription.hpp:139
UA_StatusCode AddSubscription(UA_Client *client, const UA_CreateSubscriptionRequest &request)
Definition: subscription.cpp:180
void SetSubscriptionId(const UA_UInt32 id)
Definition: subscription.hpp:125
static void DataChangesCallback(UA_Client *client, UA_UInt32 subId, void *subContext, UA_UInt32 monId, void *context, UA_DataValue *value)
Definition: subscription.cpp:189
UA_StatusCode RemoveMonitoredItems(UA_Client *client, bool connection_active=true)
RemoveMonitoredItem.
Definition: subscription.cpp:120
Subscription(IDataChangeHandler *handler)
Subscription.
Definition: subscription.cpp:24
~Subscription()
Definition: subscription.cpp:28
static SubscriptionPtr Create(IDataChangeHandler *handler)
Create a new subscription.
Definition: subscription.cpp:19
virtual void onError()
Handler for session communication errors.
Definition: subscription.cpp:169
log4cplus::Logger & Logger()
Definition: defines.cpp:13
Definition: iDataChangeHandler.hpp:25
std::shared_ptr< MonitoredItem > MonitoredItemPtr
Definition: monitoredItem.hpp:19
std::shared_ptr< Subscription > SubscriptionPtr
Definition: subscription.hpp:30
std::shared_ptr< const Subscription > SubscriptionConstPtr
Definition: subscription.hpp:31