00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 #pragma once 00012 00013 #include <opc/ua/event.h> 00014 #include <opc/ua/server/address_space.h> 00015 #include <opc/ua/services/subscriptions.h> 00016 00017 00018 namespace boost 00019 { 00020 namespace asio 00021 { 00022 class io_service; 00023 } 00024 } 00025 00026 namespace OpcUa 00027 { 00028 namespace Server 00029 { 00030 00031 class SubscriptionService : public SubscriptionServices 00032 { 00033 public: 00034 DEFINE_CLASS_POINTERS(SubscriptionService); 00035 00036 virtual void TriggerEvent(NodeId node, Event event) = 0; 00037 }; 00038 00039 SubscriptionService::UniquePtr CreateSubscriptionService(std::shared_ptr<AddressSpace> addressspace, boost::asio::io_service& io, bool debug); 00040 00041 } // namespace UaServer 00042 } // nmespace OpcUa