X-Git-Url: http://g0dil.de/git?p=senf.git;a=blobdiff_plain;f=senf%2FPPI%2FModule.cc;fp=senf%2FPPI%2FModule.cc;h=40f743bc6be4c1050fdf8e495c689354a644b690;hp=fec833806d9b07021980e1fcc2fec07c071bd578;hb=55b4c5a3afcf821031cef2ca7089fbdfd77d513a;hpb=b2fff1b50e0010fdad28cb638987cbf88032e30e diff --git a/senf/PPI/Module.cc b/senf/PPI/Module.cc index fec8338..40f743b 100644 --- a/senf/PPI/Module.cc +++ b/senf/PPI/Module.cc @@ -32,6 +32,8 @@ #include "Module.ih" // Custom includes +#include "Events.hh" +#include "Connectors.hh" //#include "Module.mpp" #define prefix_ @@ -41,6 +43,47 @@ // senf::ppi::module::Module //-///////////////////////////////////////////////////////////////////////////////////////////////// +// public members + +#ifdef DOXYGEN + +prefix_ senf::ppi::Route & +senf::ppi::module::Module::route(connector::InputConnector & input, + connector::OutputConnector & output) +{} +prefix_ senf::ppi::Route & +senf::ppi::module::Module::route(connector::InputConnector & input, EventDescriptor & output) +{} + +prefix_ senf::ppi::RouteRoute & +senf::ppi::module::Module::route(EventDescriptor & input, connector::OutputConnector & output); + +#else + +#define route_impl( Source, Target ) \ + prefix_ senf::ppi::Route & \ + senf::ppi::module::Module::route(Source & source, Target & target) \ + { \ + detail::RouteHelper::route(*this, source, target, source, target); \ + return static_cast< Route & >( \ + addRoute(std::auto_ptr< RouteBase >( \ + new Route(*this, source, target)))); \ + } + +route_impl( connector::GenericPassiveInput, connector::GenericActiveOutput); +route_impl( connector::GenericActiveInput, connector::GenericPassiveOutput); +route_impl( connector::GenericActiveInput, connector::GenericActiveOutput); +route_impl( connector::GenericPassiveInput, connector::GenericPassiveOutput); +route_impl( connector::GenericPassiveInput, EventDescriptor); +route_impl( connector::GenericActiveInput, EventDescriptor); +route_impl( EventDescriptor, connector::GenericPassiveOutput); +route_impl( EventDescriptor, connector::GenericActiveOutput); + +#undef route_impl + +#endif + +//-///////////////////////////////////////////////////////////////////////////////////////////////// // private members prefix_ void senf::ppi::module::Module::registerConnector(connector::Connector & connector)