X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FRoute.hh;h=54c41396d2499c58001259565d05103ec68a847e;hb=74e753584f5271c3b9edffdb7ceee73a6a1de5c7;hp=ab4cc8d110b411bf0ddddf5b4976b1b82a509a89;hpb=0c6e42841266e5983ef9a9836b8f1bb98de684ba;p=senf.git diff --git a/PPI/Route.hh b/PPI/Route.hh index ab4cc8d..54c4139 100644 --- a/PPI/Route.hh +++ b/PPI/Route.hh @@ -25,6 +25,8 @@ #define HH_Route_ 1 // Custom includes +#include +#include "predecl.hh" //#include "Route.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -32,13 +34,7 @@ namespace senf { namespace ppi { - /** \brief Route descriptor - - Route instances are created by Module::route statements. The Route class provides an - interface to manipulate the flow processing. - */ - template - class Route + class RouteBase { public: void autoThrottling(bool state); ///< Change automatic throttle notification forwarding @@ -61,14 +57,47 @@ namespace ppi { specializations. However, this is an implementation detail which does not affect the exposed interface. */ + + protected: + RouteBase(module::Module & module); + + private: + module::Module * module_; + }; + +}} + +#include "Route.ih" + +namespace senf { +namespace ppi { + + /** \brief Route descriptor + + Route instances are created by Module::route statements. The Route class provides an + interface to manipulate the flow processing. + */ + template + class Route + : public detail::RouteImplementation< boost::is_base_of::value, + boost::is_base_of::value > + { + private: + typedef detail::RouteImplementation< + boost::is_base_of::value, + boost::is_base_of::value > Implementation; + + Route(module::Module & module, Source & source, Target & target); + + friend class module::Module; }; }} ///////////////////////////////hh.e//////////////////////////////////////// -//#include "Route.cci" +#include "Route.cci" //#include "Route.ct" -//#include "Route.cti" +#include "Route.cti" #endif @@ -78,4 +107,6 @@ namespace ppi { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: