5 #ifndef SKYWAY_PLUGIN_UDP_PIPE_STRING_PLUGIN_ROUTER_H 6 #define SKYWAY_PLUGIN_UDP_PIPE_STRING_PLUGIN_ROUTER_H 8 #include <fruit/fruit.h> 12 #include "../socket/udp_socket.h" 16 using fruit::Component;
17 using fruit::createComponent;
18 using fruit::Injector;
23 std::vector<boost::shared_ptr<skyway_plugin::SkyWayStringPlugin>>
plugins_;
26 std::shared_ptr<rapidjson::Document>
config_;
35 ASSISTED(udp::endpoint) target_socket,
40 virtual uint16_t
Port()
override;
45 Component<fruit::Annotated<StringAnnotation, PluginRouterFactory>>
48 #endif // SKYWAY_PLUGIN_UDP_PIPE_STRING_PLUGIN_ROUTER_H
std::function< std::unique_ptr< Socket >(udp::endpoint, std::shared_ptr< std::function< void(std::vector< uint8_t >)> >)> SocketFactory
void observe_plugins(std::string message)
ASSISTED(udp::endpoint) target_socket
udp::endpoint target_socket_
std::unique_ptr< Socket > socket_
virtual uint16_t Port() override
Component< fruit::Annotated< StringAnnotation, PluginRouterFactory > > getStringPluginRouterComponent()
std::vector< boost::shared_ptr< skyway_plugin::SkyWayStringPlugin > > plugins_
void observe_socket(std::vector< uint8_t > data)
virtual PluginResult TryStart() override
pluginlib::ClassLoader< skyway_plugin::SkyWayStringPlugin > plugin_loader_
StringPluginRouter()=delete
std::shared_ptr< rapidjson::Document > config_