00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 #pragma once 00012 00013 #include <opc/ua/server/addons/services_registry.h> 00014 #include <opc/ua/services/endpoints.h> 00015 00016 namespace OpcUa 00017 { 00018 namespace Server 00019 { 00020 00021 struct ApplicationData 00022 { 00023 ApplicationDescription Application; 00024 std::vector<EndpointDescription> Endpoints; 00025 }; 00026 00027 class EndpointsRegistry : public OpcUa::EndpointServices 00028 { 00029 public: 00030 DEFINE_CLASS_POINTERS(EndpointsRegistry); 00031 00032 public: 00033 virtual void AddEndpoints(const std::vector<EndpointDescription>& endpoints) = 0; 00034 virtual void AddApplications(const std::vector<OpcUa::ApplicationDescription>& application) = 0; 00035 }; 00036 00037 EndpointsRegistry::UniquePtr CreateEndpointsRegistry(); 00038 00039 } // namespace UaServer 00040 } // namespace OpcUa