00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 #pragma once 00012 00013 #include <opc/common/interface.h> 00014 #include <opc/common/class_pointers.h> 00015 #include <opc/ua/connection_listener.h> 00016 00017 #include <memory> 00018 00019 namespace OpcUa 00020 { 00021 namespace Server 00022 { 00023 struct TcpParameters 00024 { 00025 unsigned short Port; 00026 00027 TcpParameters() 00028 : Port(0) 00029 { 00030 } 00031 }; 00032 00033 class TcpServer : public Common::Interface 00034 { 00035 public: 00036 DEFINE_CLASS_POINTERS(TcpServer); 00037 00038 virtual void Listen(const OpcUa::Server::TcpParameters& params, std::shared_ptr<OpcUa::Server::IncomingConnectionProcessor> processor) = 0; 00039 virtual void StopListen(const OpcUa::Server::TcpParameters& params) = 0; 00040 }; 00041 00042 TcpServer::UniquePtr CreateTcpServer(); 00043 00044 } // namespace UaServer 00045 } // namespace OpcUa 00046