// $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 <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
namespace senf {
namespace ppi {
-#ifndef DOXYGEN
-
- void connect(connector::ActiveOutput & source, connector::PassiveInput & target);
- void connect(connector::PassiveOutput & source, connector::ActiveInput & target);
-
- template <class T, class C>
- void connect(T & source, C & target,
- typename boost::disable_if< boost::is_base_of<connector::Connector, T> >::type * = 0,
- typename boost::enable_if< boost::is_base_of<connector::Connector, C> >::type * = 0);
-
- template <class C, class T>
- void connect(C & source, T & target,
- typename boost::enable_if< boost::is_base_of<connector::Connector, C> >::type * = 0,
- typename boost::disable_if< boost::is_base_of<connector::Connector,T> >::type * = 0);
-
- template <class T1, class T2>
- void connect(T1 & source, T2 & target,
- typename boost::disable_if< boost::is_base_of<connector::Connector, T1> >::type * = 0,
- typename boost::disable_if< boost::is_base_of<connector::Connector, T2> >::type * = 0);
-
-#else
-
/** \brief Connect modules
senf::ppi::connect() establishes a connection between two modules or, to be more precise,
\see \ref ppi_connections
*/
- void connect(connector::ActiveInput & source, connector::PassiveOutput & target);
+ void connect(connector::GenericActiveOutput & source, connector::GenericPassiveInput & target);
/** \brief Connect modules
\see connect() */
- void connect(connector::PassiveInput & source, connector::ActiveOutput & target);
+ void connect(connector::GenericPassiveOutput & source, connector::GenericActiveInput & target);
+
+#ifndef DOXYGEN
+
+ template <class T, class C>
+ void connect(T & source, C & target,
+ typename boost::disable_if< boost::is_base_of<connector::Connector, T> >::type * = 0,
+ typename boost::enable_if< boost::is_base_of<connector::Connector, C> >::type * = 0);
+
+ template <class C, class T>
+ void connect(C & source, T & target,
+ typename boost::enable_if< boost::is_base_of<connector::Connector, C> >::type * = 0,
+ typename boost::disable_if< boost::is_base_of<connector::Connector,T> >::type * = 0);
+
+ template <class T1, class T2>
+ void connect(T1 & source, T2 & target,
+ typename boost::disable_if< boost::is_base_of<connector::Connector, T1> >::type * = 0,
+ typename boost::disable_if< boost::is_base_of<connector::Connector, T2> >::type * = 0);
#endif