X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FRoute.ih;h=01836c9d63bc98e3568178983c3c215442312bdc;hb=6ba573a99f93543ee32292f79865751b3e9b89a4;hp=149b9e9e2170181731a30ee3efcd220d22d83490;hpb=7465ea4f6d3d54622bd783106cf8b60d5f133343;p=senf.git diff --git a/PPI/Route.ih b/PPI/Route.ih index 149b9e9..01836c9 100644 --- a/PPI/Route.ih +++ b/PPI/Route.ih @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -35,6 +35,8 @@ ///////////////////////////////ih.p//////////////////////////////////////// +#ifndef DOXYGEN + namespace senf { namespace ppi { namespace detail { @@ -72,7 +74,7 @@ namespace detail { typedef EventDescriptor type; }; - + // The RoutingTraits give routing related information about the argument type: // - Wether the type is a notifySource or notifyTarget // - Wether the type is dataSource or dataTarget @@ -97,8 +99,8 @@ namespace detail { typedef Source source_type; typedef Target target_type; - Source & source(); - Target & target(); + Source & source() const; + Target & target() const; protected: BaseRouteImplementation(module::Module & module, Source & source, Target & target); @@ -131,18 +133,18 @@ namespace detail { ForwardingRouteImplementation(module::Module & module, Source & source, Target & target); private: - // register the Route in the notifySource only if the second argument is a 'true' type - template void registerRoute(T & ob, boost::mpl::bool_ const &); - template void registerRoute(T & ob, boost::mpl::bool_ const &); - // send a throttle/unthrottle notification only if the second argument is a 'true' type template void notifyThrottle(T & ob, boost::mpl::bool_ const &); template void notifyThrottle(T & ob, boost::mpl::bool_ const &); template void notifyUnthrottle(T & ob, boost::mpl::bool_ const &); template void notifyUnthrottle(T & ob, boost::mpl::bool_ const &); + template bool throttled(T & ob, boost::mpl::bool_ const &) const; + template bool throttled(T & ob, boost::mpl::bool_ const &) const; + virtual void v_notifyThrottle(); virtual void v_notifyUnthrottle(); + virtual bool v_throttled() const; }; // This helper class finds the base-class suitable for a specific route. Routes are classified @@ -199,6 +201,8 @@ namespace detail { }}} +#endif + ///////////////////////////////ih.e//////////////////////////////////////// #endif