Go to the documentation of this file.
5 #ifndef SKYWAY_PLUGIN_FACTORY_H
6 #define SKYWAY_PLUGIN_FACTORY_H
8 #include <fruit/fruit.h>
14 using fruit::Annotated;
15 using fruit::Component;
16 using fruit::createComponent;
17 using fruit::Injector;
23 virtual std::unique_ptr<PluginRouter>
Create(
24 std::string target_ip, uint16_t target_port, std::string plugin_type,
25 std::shared_ptr<rapidjson::Document> config) = 0;
45 virtual std::unique_ptr<PluginRouter>
Create(
46 std::string target_ip, uint16_t target_port, std::string plugin_type,
47 std::shared_ptr<rapidjson::Document> config)
override;
52 #endif // SKYWAY_PLUGIN_FACTORY_H
PluginRouterFactory binary_factory_
~PluginRouterFactoryImpl()
Component< IPluginRouterFactory > getPluginFactoryComponent()
INJECT(PluginRouterFactoryImpl(ANNOTATED(BinaryAnnotation, PluginRouterFactory) binary_factory, ANNOTATED(JsonAnnotation, PluginRouterFactory) json_factory, ANNOTATED(StringAnnotation, PluginRouterFactory) string_factory))
virtual ~IPluginRouterFactory()=default
std::function< std::unique_ptr< PluginRouter >(std::shared_ptr< rapidjson::Document >, udp::endpoint)> PluginRouterFactory
PluginRouterFactory json_factory_
PluginRouterFactoryImpl()=delete
PluginRouterFactory string_factory_
virtual std::unique_ptr< PluginRouter > Create(std::string target_ip, uint16_t target_port, std::string plugin_type, std::shared_ptr< rapidjson::Document > config)=0
virtual std::unique_ptr< PluginRouter > Create(std::string target_ip, uint16_t target_port, std::string plugin_type, std::shared_ptr< rapidjson::Document > config) override
skyway
Author(s): Toshiya Nakakura
autogenerated on Thu Oct 26 2023 02:42:21