18 #ifndef HH_SENF_PPI_Module_ 19 #define HH_SENF_PPI_Module_ 1 22 #include <boost/noncopyable.hpp> 23 #include <boost/ptr_container/ptr_vector.hpp> 35 namespace detail {
class EventBindingBase; }
238 # define route_decl(Source, Target) \ 239 Route<Source, Target> & \ 240 route(Source & source, Target & target); 266 template <
class Descriptor,
class Target>
267 void registerEvent(Descriptor & descriptor, Target target);
269 template <
class Target>
298 virtual void macro_SENF_PPI_MODULE_missing() = 0;
300 virtual void v_init();
323 RouteBase & addRoute(std::unique_ptr<RouteBase> route);
325 typedef std::vector<connector::Connector *> ConnectorRegistry;
326 ConnectorRegistry connectorRegistry_;
328 typedef boost::ptr_vector<RouteBase> RouteInfoBase;
329 RouteInfoBase routes_;
333 template <
class Source,
class Target>
346 # define SENF_PPI_MODULE(name) \ 348 ~ name() { destroy(); } \ 349 void macro_SENF_PPI_MODULE_missing() override {} \ Internal: Association Event - Module - Handler, base-class.
config::time_type clock_type
Combination of PassiveConnector and OutputConnector.
ModuleManager public header.
Output connector base-class.
ClockService::clock_type const & now()
Generic event interface base-class.
Combination of ActiveConnector and OutputConnector.
Event registry and control.
Internal: Module management.