00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 #pragma once 00012 00013 #include <opc/common/interface.h> 00014 #include <opc/ua/protocol/channel.h> 00015 00016 #include <memory> 00017 00018 namespace OpcUa 00019 { 00020 namespace Server 00021 { 00022 00023 class IncomingConnectionProcessor : private Common::Interface 00024 { 00025 public: 00026 virtual void Process(IOChannel::SharedPtr clientChannel) = 0; 00027 virtual void StopProcessing(IOChannel::SharedPtr clientChannel) = 0; 00028 }; 00029 00030 class ConnectionListener : private Common::Interface 00031 { 00032 public: 00033 virtual void Start(std::shared_ptr<IncomingConnectionProcessor> connectionProcssor) = 0; 00034 virtual void Stop() = 0; 00035 }; 00036 00037 } // namespace UaServer 00038 } // namespace OpcUA