8#ifndef CORE_PROTOCOL_OPEN62541_SUBSCRIPTION_H_
9#define CORE_PROTOCOL_OPEN62541_SUBSCRIPTION_H_
21#ifdef UA_ENABLE_AMALGAMATION
22# include <open62541.h>
24# include <open62541/types.h>
25# include <open62541/client.h>
31class IDataChangeHandler;
64 const UA_UInt32 monitor_id,
94 std::vector<MonitoredItemPtr>& mon_vector,
95 std::string& error_msg);
120 UA_StatusCode
AddSubscription(UA_Client* client,
const UA_CreateSubscriptionRequest& request);
126 return m_subscription_id;
130 m_subscription_id = id;
140 std::map<std::shared_ptr<MonitoredItem>,
151 UA_DataValue* value);
157 UA_Int32 m_subscription_id;
161 log4cplus::Logger m_logger;
The IDataChangeHandler class Defines an entry point for data change notifications.
Definition iDataChangeHandler.hpp:37
Definition subscription.hpp:40
static void DataChangesCallback(UA_Client *client, UA_UInt32 subId, void *subContext, UA_UInt32 monId, void *context, UA_DataValue *value)
Definition subscription.cpp:204
void SetSubscriptionId(const UA_UInt32 id)
Definition subscription.hpp:129
static void DeleteSubscriptionCallback(UA_Client *client, UA_UInt32 subscriptionId, void *subContext)
Definition subscription.cpp:220
virtual void onStatusChange(bool status)
Handler for session status change.
Definition subscription.cpp:189
UA_StatusCode AddMonitoredItems(UA_Client *client, std::vector< MonitoredItemPtr > &mon_vector, std::string &error_msg)
Add a vector of monitoring items.
Definition subscription.cpp:52
~Subscription()
Definition subscription.cpp:31
std::map< UA_Int32, std::shared_ptr< MonitoredItem > > m_monitored_items
Definition subscription.hpp:143
UA_StatusCode AddSubscription(UA_Client *client, const UA_CreateSubscriptionRequest &request)
Definition subscription.cpp:193
std::map< std::shared_ptr< MonitoredItem >, std::vector< IDataChangeHandler * > > m_dataChangeHandler
Definition subscription.hpp:141
UA_StatusCode RemoveMonitoredItems(UA_Client *client, bool connection_active=true)
RemoveMonitoredItem.
Definition subscription.cpp:135
Subscription(IDataChangeHandler *handler)
Subscription.
Definition subscription.cpp:27
virtual void onError()
Handler for session communication errors.
Definition subscription.cpp:186
virtual void OnDataChange(const UA_UInt32 monitor_id, UA_DataValue *value)
Handler of data changes.
Definition subscription.cpp:174
UA_UInt32 GetSubscriptionId() const
Return subscription ID.
Definition subscription.hpp:125
static SubscriptionPtr Create(IDataChangeHandler *handler)
Create a new subscription.
Definition subscription.cpp:23
UA_StatusCode AddMonitoredItem(UA_Client *client, MonitoredItemPtr monitoredItem)
Add an new monitoring item.
Definition subscription.cpp:35
taskPoll class header file.
Definition iDataChangeHandler.hpp:28
std::shared_ptr< const Subscription > SubscriptionConstPtr
Definition subscription.hpp:35
std::shared_ptr< MonitoredItem > MonitoredItemPtr
Definition monitoredItem.hpp:23
std::shared_ptr< Subscription > SubscriptionPtr
Definition subscription.hpp:34