class is internal and not documented. */
#endif
+ bool hasConnector(connector::Connector const & conn) const;
+ ///< \c true, if route has connector \a conn
+ bool hasEvent(EventDescriptor const & event) const;
+ ///< \c true, if route has event \a event
+
protected:
RouteBase(module::Module & module);
private:
+ virtual bool v_hasConnector(connector::Connector const & conn) const = 0;
+ virtual bool v_hasEvent(EventDescriptor const & event) const = 0;
+
module::Module * module_;
};
forwarded from active to passive connectors. This may
be disabled by setting the authoThrottling state to \c
false.
-
+
Routing from/to an event to/from a passive connector
will automatically create throttling notifications on
the connector whenever the event is disabled. Routing
/**< This member checks only the automatic throttling
state. If autoThrottling() is \c false, this member
will always return \c false. */
-
+
protected:
ForwardingRoute(module::Module & module);
// Called to register this route with the connectors forwarding information base
template <class T> void registerRoute(T & ob);
+ template <class T> void unregisterRoute(T & ob);
template <class T> void notifyThrottle(T & ob);
template <class T> void notifyUnthrottle(T & ob);
namespace ppi {
/** \brief Route descriptor
-
+
Route instances are created by Module::route statements. The Route class provides an
interface to manipulate the flow processing.
private:
typedef detail::RouteImplementation<Source,Target> Base;
typedef detail::RouteImplementation<Source,Target> Implementation;
-
+
Route(module::Module & module, Source & source, Target & target);
friend class module::Module;