24 class SubscriptionAddon:
32 ApplyAddonParameters(parameters);
37 Services->RegisterSubscriptionServices(Subscriptions);
42 Services->UnregisterSubscriptionServices();
43 Subscriptions.reset();
50 Subscriptions->TriggerEvent(node, event);
56 return Subscriptions->CreateSubscription(request, callback);
61 return Subscriptions->ModifySubscription(parameters);
64 std::vector<OpcUa::StatusCode>
DeleteSubscriptions(
const std::vector<uint32_t> & subscriptions)
66 return Subscriptions->DeleteSubscriptions(subscriptions);
71 Subscriptions->Publish(request);
76 return Subscriptions->Republish(request);
81 return Subscriptions->CreateMonitoredItems(parameters);
86 return Subscriptions->DeleteMonitoredItems(parameters);
105 SubscriptionService::SharedPtr Subscriptions;
106 OpcUa::Server::ServicesRegistry::SharedPtr Services;
107 Common::Logger::SharedPtr Logger;
118 return Common::Addon::UniquePtr(
new SubscriptionAddon());
virtual void TriggerEvent(NodeId node, Event event)=0
Common::Addon * CreateAddon()
Addon interface definition GNU LGPL.
virtual const Logger::SharedPtr & GetLogger() const
virtual std::vector< MonitoredItemCreateResult > CreateMonitoredItems(const MonitoredItemsParameters ¶meters)=0
virtual SubscriptionData CreateSubscription(const CreateSubscriptionRequest &, std::function< void(PublishResult)> callbackPublish)=0
virtual std::shared_ptr< Addon > GetAddon(const AddonId &id) const =0
getting addon by id
virtual std::vector< StatusCode > DeleteSubscriptions(const std::vector< uint32_t > &subscriptions)=0
const char AddressSpaceRegistryAddonId[]
virtual void Stop()=0
Stopping addon work. After calling this method addon should throw exception on any calls...
const char ServicesRegistryAddonId[]
virtual ModifySubscriptionResponse ModifySubscription(const ModifySubscriptionParameters ¶meters)=0
virtual void Publish(const PublishRequest &request)=0
virtual void Initialize(AddonsManager &manager, const AddonParameters ¶meters)=0
initialize addon.
SubscriptionService::UniquePtr CreateSubscriptionService(std::shared_ptr< AddressSpace > addressspace, boost::asio::io_service &io, const Common::Logger::SharedPtr &logger)
OPC UA Address space part. GNU LGPL.
virtual std::vector< StatusCode > DeleteMonitoredItems(const DeleteMonitoredItemsParameters ¶ms)=0
virtual RepublishResponse Republish(const RepublishParameters ¶ms)=0