14 #include <boost/asio.hpp> 15 #include <boost/thread/shared_mutex.hpp> 27 class SubscriptionServiceInternal;
69 std::vector<StatusCode> DeleteMonitoredItemsIds(
const std::vector<uint32_t> & ids);
70 bool EnqueueEvent(uint32_t monitoreditemid,
const Event & event);
71 bool EnqueueDataChange(uint32_t monitoreditemid,
const DataValue & value);
80 void DeleteAllMonitoredItems();
81 bool DeleteMonitoredEvent(uint32_t
handle);
82 bool DeleteMonitoredDataChange(uint32_t handle);
83 std::vector<PublishResult> PopPublishResult();
84 bool HasPublishResult();
86 void PublishResults(
const boost::system::error_code & error);
87 std::vector<Variant> GetEventFields(
const EventFilter & filter,
const Event & event);
98 uint32_t NotificationSequence = 1;
99 uint32_t KeepAliveCount = 0;
101 uint32_t LastMonitoredItemId = 100;
107 boost::asio::io_service &
io;
109 bool TimerStopped =
false;
MonitoredItemCreateResult Parameters
std::list< PublishResult > NotAcknowledgedResults
Server::AddressSpace & AddressSpace
const NodeId CurrentSession
std::function< void(PublishResult)> Callback
std::list< TriggeredEvent > TriggeredEvents
SubscriptionServiceInternal & Service
std::map< uint32_t, MonitoredDataChange > MonitoredDataChangeMap
Common::Logger::SharedPtr Logger
OPC UA Address space part. GNU LGPL.
void DataChangeCallback(const NodeId &node, AttributeId attribute, DataValue)
boost::asio::io_service & io
std::list< TriggeredDataChange > TriggeredDataChangeEvents
boost::asio::deadline_timer Timer
std::map< NodeId, uint32_t > MonitoredEventsMap
boost::shared_mutex DbMutex
MonitoredDataChangeMap MonitoredDataChanges
MonitoredEventsMap MonitoredEvents