8 #ifndef PSYLLID_STREAM_MANAGER_HH_ 9 #define PSYLLID_STREAM_MANAGER_HH_ 58 typedef std::map< std::string, node_builder* >
nodes_t;
73 bool initialize(
const scarab::param_node& a_config );
76 bool add_stream(
const std::string& a_name,
const scarab::param_node& a_node );
80 bool configure_node(
const std::string& a_stream_name,
const std::string& a_node_name,
const scarab::param_node& a_config );
81 bool dump_node_config(
const std::string& a_stream_name,
const std::string& a_node_name, scarab::param_node& a_config )
const;
106 void _add_stream(
const std::string& a_name,
const scarab::param_node& a_node );
107 void _add_stream(
const std::string& a_name,
const std::string& a_type,
const scarab::param_node& a_node );
110 void _configure_node(
const std::string& a_stream_name,
const std::string& a_node_name,
const scarab::param_node& a_config );
111 void _dump_node_config(
const std::string& a_stream_name,
const std::string& a_node_name, scarab::param_node& a_config )
const;
115 typedef std::map< std::string, stream_template >
streams_t;
130 streams_t::const_iterator t_stream =
f_streams.find( a_name );
131 if( t_stream ==
f_streams.end() )
return nullptr;
132 return &(t_stream->second);
active_node_bindings f_node_bindings
void remove_stream(const std::string &a_name)
void clear_node_bindings()
connections_t f_connections
std::string get_node_run_str() const
bool dump_node_config(const std::string &a_stream_name, const std::string &a_node_name, scarab::param_node &a_config) const
active_node_bindings * get_node_bindings()
dripline::reply_ptr_t handle_dump_config_node_request(const dripline::request_ptr_t a_request)
const stream_template * get_stream(const std::string &a_name) const
dripline::reply_ptr_t handle_get_stream_list_request(const dripline::request_ptr_t a_request)
bool configure_node(const std::string &a_stream_name, const std::string &a_node_name, const scarab::param_node &a_config)
bool must_reset_midge() const
void _add_stream(const std::string &a_name, const scarab::param_node &a_node)
midge_package get_midge()
virtual ~stream_manager()
dripline::reply_ptr_t handle_add_stream_request(const dripline::request_ptr_t a_request)
dripline::reply_ptr_t handle_configure_node_request(const dripline::request_ptr_t a_request)
scarab::param_node f_device_config
Holds node configuration and can be used to create node classes and node binding classes.
std::map< std::string, std::pair< node_binding *, midge::node *> > active_node_bindings
void _remove_stream(const std::string &a_name)
void _dump_node_config(const std::string &a_stream_name, const std::string &a_node_name, scarab::param_node &a_config) const
std::mutex f_manager_mutex
void _configure_node(const std::string &a_stream_name, const std::string &a_node_name, const scarab::param_node &a_config)
Manages one or multiple sets of midge-nodes.
void return_midge(midge_package &&a_midge)
locked_resource< midge::diptera, stream_manager > midge_package
dripline::reply_ptr_t handle_get_stream_node_list_request(const dripline::request_ptr_t a_request)
std::shared_ptr< midge::diptera > midge_ptr_t
std::map< std::string, node_builder *> nodes_t
bool initialize(const scarab::param_node &a_config)
std::map< std::string, stream_template > streams_t
dripline::reply_ptr_t handle_remove_stream_request(const dripline::request_ptr_t a_request)
bool add_stream(const std::string &a_name, const scarab::param_node &a_node)
std::set< std::string > connections_t
Allows access to midge nodes.