diff --git a/PPI/AnnotationRouter.ct b/PPI/AnnotationRouter.ct index 62311647880b4272edfebf20e376aba9bcfb160d..29a9cab8caefcf35d4a3f611df8ac2bda2e64328 100644 --- a/PPI/AnnotationRouter.ct +++ b/PPI/AnnotationRouter.ct @@ -52,7 +52,7 @@ template <class AnnotationType> prefix_ void senf::ppi::module::AnnotationRouter<AnnotationType>::request() { Packet p (input()); - typename AnnotationRouter::DynamicConnectorContainer::iterator i ( + typename AnnotationRouter::ContainerType::iterator i ( this->connectors().find(p.annotation<AnnotationType>())); if (i == this->connectors().end()) defaultOutput(p); diff --git a/PPI/AnnotationRouter.hh b/PPI/AnnotationRouter.hh index 7badaaf21dca7fa1910134da24dae666b8ee5f7b..ff12b977f0dcb1e0a12cad056c7f65cf59179de6 100644 --- a/PPI/AnnotationRouter.hh +++ b/PPI/AnnotationRouter.hh @@ -31,7 +31,7 @@ #include "../Utils/String.hh" #include "Module.hh" #include "Connectors.hh" -#include "DynamicConnectorMixin.hh" +#include "MultiConnectorMixin.hh" //#include "AnnotationRouter.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -96,7 +96,7 @@ namespace module { template <class AnnotationType> class AnnotationRouter : public Module, - public DynamicConnectorMixin< AnnotationRouter<AnnotationType>, + public MultiConnectorMixin< AnnotationRouter<AnnotationType>, connector::ActiveOutput<>, AnnotationType > { @@ -119,7 +119,7 @@ namespace module { typedef boost::ptr_map<AnnotationType, connector::ActiveOutput<> > Outputs; Outputs outputs_; - friend class DynamicConnectorMixin< AnnotationRouter<AnnotationType>, + friend class MultiConnectorMixin< AnnotationRouter<AnnotationType>, connector::ActiveOutput<>, AnnotationType >; }; diff --git a/PPI/Duplicators.cc b/PPI/Duplicators.cc index b6dd077397a19f764fb972be9a08c39f710c757c..dfbfaf97abd8d080d605ebbca3415c2edb250117 100644 --- a/PPI/Duplicators.cc +++ b/PPI/Duplicators.cc @@ -33,7 +33,7 @@ ///////////////////////////////cc.p//////////////////////////////////////// prefix_ void -senf::ppi::module::ActiveDuplicator::connectorSetup(ActiveDuplicator::DynamicConnector & conn) +senf::ppi::module::ActiveDuplicator::connectorSetup(ActiveDuplicator::ConnectorType & conn) { route(input, conn); } @@ -41,8 +41,8 @@ senf::ppi::module::ActiveDuplicator::connectorSetup(ActiveDuplicator::DynamicCon prefix_ void senf::ppi::module::ActiveDuplicator::request() { Packet p (input()); - ActiveDuplicator::ConnectorContainer::iterator i (connectors().begin()); - ActiveDuplicator::ConnectorContainer::iterator const i_end (connectors().end()); + ActiveDuplicator::ContainerType::iterator i (connectors().begin()); + ActiveDuplicator::ContainerType::iterator const i_end (connectors().end()); for (; i != i_end; ++i) (*i)(p); } diff --git a/PPI/Duplicators.hh b/PPI/Duplicators.hh index fea0a46f0a770bd1c11bbdf97ccd8a32987038df..1f58c730ed6dee7c448954608438aaa4f6ae0d94 100644 --- a/PPI/Duplicators.hh +++ b/PPI/Duplicators.hh @@ -31,7 +31,7 @@ #include "predecl.hh" #include "Connectors.hh" #include "Module.hh" -#include "DynamicConnectorMixin.hh" +#include "MultiConnectorMixin.hh" //#include "Duplicators.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -59,7 +59,7 @@ namespace module { */ class ActiveDuplicator : public Module, - public DynamicConnectorMixin<ActiveDuplicator, connector::ActiveOutput<> > + public MultiConnectorMixin<ActiveDuplicator, connector::ActiveOutput<> > { SENF_PPI_MODULE(ActiveDuplicator); public: @@ -68,10 +68,10 @@ namespace module { ActiveDuplicator(); private: - void connectorSetup(ActiveDuplicator::DynamicConnector & conn); + void connectorSetup(ActiveDuplicator::ConnectorType & conn); void request(); - friend class DynamicConnectorMixin<ActiveDuplicator, connector::ActiveOutput<> >; + friend class MultiConnectorMixin<ActiveDuplicator, connector::ActiveOutput<> >; }; }}} diff --git a/PPI/Joins.cc b/PPI/Joins.cc index 2ecccf36e900dbeb0fcf3a4aac466e5e22ea3c25..653149a53720906d73b08ba2151afd970388e230 100644 --- a/PPI/Joins.cc +++ b/PPI/Joins.cc @@ -76,7 +76,7 @@ prefix_ void senf::ppi::module::PassiveJoin::onUnthrottle() // private members prefix_ void -senf::ppi::module::PriorityJoin::connectorSetup(PriorityJoin::DynamicConnector & conn, +senf::ppi::module::PriorityJoin::connectorSetup(PriorityJoin::ConnectorType & conn, int priority) { noroute(conn); @@ -98,7 +98,7 @@ prefix_ void senf::ppi::module::PriorityJoin::request() { using boost::lambda::_1; using boost::lambda::bind; - PriorityJoin::ConnectorContainer::iterator i ( + PriorityJoin::ContainerType::iterator i ( std::find_if(connectors().begin(), connectors().end(), ! bind(&connector::GenericActiveInput::throttled, _1))); if (i != connectors().end()) diff --git a/PPI/Joins.hh b/PPI/Joins.hh index a11ac41a65f2565b8c85570ac44421e1e62f5f20..6c260c086eff7161a34fcd5221240ae138f72c05 100644 --- a/PPI/Joins.hh +++ b/PPI/Joins.hh @@ -31,7 +31,7 @@ #include "predecl.hh" #include "Connectors.hh" #include "Module.hh" -#include "DynamicConnectorMixin.hh" +#include "MultiConnectorMixin.hh" //#include "Joins.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -62,7 +62,7 @@ namespace module { */ class PassiveJoin : public Module, - public DynamicConnectorMixin<PassiveJoin, connector::PassiveInput<> > + public MultiConnectorMixin<PassiveJoin, connector::PassiveInput<> > { SENF_PPI_MODULE(PassiveJoin); public: @@ -76,7 +76,7 @@ namespace module { void onThrottle(); void onUnthrottle(); - friend class DynamicConnectorMixin<PassiveJoin, connector::PassiveInput<> >; + friend class MultiConnectorMixin<PassiveJoin, connector::PassiveInput<> >; }; /** \brief Join multiple packet streams with active inputs @@ -107,7 +107,7 @@ namespace module { */ class PriorityJoin : public Module, - public DynamicConnectorMixin<PriorityJoin, connector::ActiveInput<> > + public MultiConnectorMixin<PriorityJoin, connector::ActiveInput<> > { SENF_PPI_MODULE(PriorityJoin); public: @@ -116,12 +116,12 @@ namespace module { PriorityJoin(); private: - void connectorSetup(PriorityJoin::DynamicConnector & conn, int priority=-1); + void connectorSetup(PriorityJoin::ConnectorType & conn, int priority=-1); void request(); void onThrottle(); void onUnthrottle(); - friend class DynamicConnectorMixin<PriorityJoin, connector::ActiveInput<> >; + friend class MultiConnectorMixin<PriorityJoin, connector::ActiveInput<> >; }; }}} diff --git a/PPI/DynamicConnectorMixin.cti b/PPI/MultiConnectorMixin.cti similarity index 71% rename from PPI/DynamicConnectorMixin.cti rename to PPI/MultiConnectorMixin.cti index 97742b20fff9ea03fb2e1ef948644335e697f76c..4b563e03f0b7d758f6b696a0276cf78a9ec21402 100644 --- a/PPI/DynamicConnectorMixin.cti +++ b/PPI/MultiConnectorMixin.cti @@ -21,33 +21,33 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief DynamicConnectorMixin inline template implementation */ + \brief MultiConnectorMixin inline template implementation */ -//#include "DynamicConnectorMixin.ih" +//#include "MultiConnectorMixin.ih" // Custom includes #define prefix_ inline ///////////////////////////////cti.p/////////////////////////////////////// -template <class Self, class ConnectorType, class KeyType, class ContainerType> -prefix_ ContainerType & -senf::ppi::module::DynamicConnectorMixin<Self,ConnectorType,KeyType,ContainerType>::connectors() +template <class Self_, class ConnectorType_, class KeyType_, class ContainerType_> +prefix_ ContainerType_ & +senf::ppi::module::MultiConnectorMixin<Self_,ConnectorType_,KeyType_,ContainerType_>::connectors() { return connectors_; } -template <class Self, class ConnectorType, class ContainerType> -prefix_ ContainerType & -senf::ppi::module::DynamicConnectorMixin<Self, ConnectorType, void, ContainerType>::connectors() +template <class Self_, class ConnectorType_, class ContainerType_> +prefix_ ContainerType_ & +senf::ppi::module::MultiConnectorMixin<Self_,ConnectorType_,void,ContainerType_>::connectors() { return connectors_; } #define BOOST_PP_ITERATION_PARAMS_1 (4, ( \ 0, \ - SENF_DYNAMIC_CONNECTOR_MAX_ARGS, \ - SENF_ABSOLUTE_INCLUDE_PATH(PPI/DynamicConnectorMixin.mpp), \ + SENF_MULTI_CONNECTOR_MAX_ARGS, \ + SENF_ABSOLUTE_INCLUDE_PATH(PPI/MultiConnectorMixin.mpp), \ 3 )) #include BOOST_PP_ITERATE() diff --git a/PPI/DynamicConnectorMixin.hh b/PPI/MultiConnectorMixin.hh similarity index 66% rename from PPI/DynamicConnectorMixin.hh rename to PPI/MultiConnectorMixin.hh index 996dc05fa4add3b3b066d7de87fa803c2110de10..85c113353df593b221c02d68ec4d61af04f70eef 100644 --- a/PPI/DynamicConnectorMixin.hh +++ b/PPI/MultiConnectorMixin.hh @@ -21,10 +21,10 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief DynamicConnectorMixin public header */ + \brief MultiConnectorMixin public header */ -#ifndef HH_SENF_PPI_DynamicConnectorMixin_ -#define HH_SENF_PPI_DynamicConnectorMixin_ 1 +#ifndef HH_SENF_PPI_MultiConnectorMixin_ +#define HH_SENF_PPI_MultiConnectorMixin_ 1 // Custom includes #include "../config.hh" @@ -34,11 +34,11 @@ #include "Connectors.hh" #include "Setup.hh" -#include "DynamicConnectorMixin.mpp" +#include "MultiConnectorMixin.mpp" ///////////////////////////////hh.p//////////////////////////////////////// -#ifndef SENF_DYNAMIC_CONNECTOR_MAX_ARGS -#define SENF_DYNAMIC_CONNECTOR_MAX_ARGS 3 +#ifndef SENF_MULTI_CONNECTOR_MAX_ARGS +#define SENF_MULTI_CONNECTOR_MAX_ARGS 3 #endif namespace senf { @@ -46,8 +46,8 @@ namespace ppi { # define BOOST_PP_ITERATION_PARAMS_1 (4, ( \ 0, \ - SENF_DYNAMIC_CONNECTOR_MAX_ARGS, \ - SENF_ABSOLUTE_INCLUDE_PATH(PPI/DynamicConnectorMixin.mpp), \ + SENF_MULTI_CONNECTOR_MAX_ARGS, \ + SENF_ABSOLUTE_INCLUDE_PATH(PPI/MultiConnectorMixin.mpp), \ 2 )) # include BOOST_PP_ITERATE() @@ -55,11 +55,11 @@ namespace module { namespace detail { template <class KeyType, class ConnectorType> - struct DefaultDynamicContainer + struct DefaultMultiConnectorContainer { typedef boost::ptr_map<KeyType, ConnectorType> type; }; template <class ConnectorType> - struct DefaultDynamicContainer<void,ConnectorType> + struct DefaultMultiConnectorContainer<void,ConnectorType> { typedef boost::ptr_vector<ConnectorType> type; }; template <class ConnectorType> @@ -90,62 +90,62 @@ namespace detail { The list manager will insert the new connector at the end of the list BEFORE calling connetorSetup. This allows the setup routine to manipulate the position. */ - template <class Self, - class ConnectorType, - class KeyType=void, - class ContainerType=typename detail::DefaultDynamicContainer< - KeyType,ConnectorType>::type> - class DynamicConnectorMixin - : private detail::DynamicDisableType<ConnectorType>::type + template <class Self_, + class ConnectorType_, + class KeyType_=void, + class ContainerType_=typename detail::DefaultMultiConnectorContainer< + KeyType_,ConnectorType_>::type> + class MultiConnectorMixin + : private detail::DynamicDisableType<ConnectorType_>::type { public: - typedef ConnectorType DynamicConnector; + typedef ConnectorType_ ConnectorType; protected: - typedef ContainerType DynamicConnectorContainer; - ContainerType & connectors(); + typedef ContainerType_ ContainerType; + ContainerType_ & connectors(); private: # define BOOST_PP_ITERATION_PARAMS_1 (4, ( \ 0, \ - SENF_DYNAMIC_CONNECTOR_MAX_ARGS, \ - SENF_ABSOLUTE_INCLUDE_PATH(PPI/DynamicConnectorMixin.mpp), \ + SENF_MULTI_CONNECTOR_MAX_ARGS, \ + SENF_ABSOLUTE_INCLUDE_PATH(PPI/MultiConnectorMixin.mpp), \ 1 )) # include BOOST_PP_ITERATE() - ContainerType connectors_; + ContainerType_ connectors_; }; - template <class Self, - class ConnectorType, - class ContainerType> - class DynamicConnectorMixin<Self, ConnectorType, void, ContainerType> - : private detail::DynamicDisableType<ConnectorType>::type + template <class Self_, + class ConnectorType_, + class ContainerType_> + class MultiConnectorMixin<Self_,ConnectorType_,void,ContainerType_> + : private detail::DynamicDisableType<ConnectorType_>::type { public: - typedef ConnectorType DynamicConnector; + typedef ConnectorType_ ConnectorType; protected: - typedef ContainerType ConnectorContainer; - ContainerType & connectors(); + typedef ContainerType_ ContainerType; + ContainerType_ & connectors(); private: # define BOOST_PP_ITERATION_PARAMS_1 (4, ( \ 0, \ - SENF_DYNAMIC_CONNECTOR_MAX_ARGS, \ - SENF_ABSOLUTE_INCLUDE_PATH(PPI/DynamicConnectorMixin.mpp), \ + SENF_MULTI_CONNECTOR_MAX_ARGS, \ + SENF_ABSOLUTE_INCLUDE_PATH(PPI/MultiConnectorMixin.mpp), \ 1 )) # include BOOST_PP_ITERATE() - ContainerType connectors_; + ContainerType_ connectors_; }; }}} ///////////////////////////////hh.e//////////////////////////////////////// -//#include "DynamicConnectorMixin.cci" -//#include "DynamicConnectorMixin.ct" -#include "DynamicConnectorMixin.cti" +//#include "MultiConnectorMixin.cci" +//#include "MultiConnectorMixin.ct" +#include "MultiConnectorMixin.cti" #endif diff --git a/PPI/DynamicConnectorMixin.mpp b/PPI/MultiConnectorMixin.mpp similarity index 82% rename from PPI/DynamicConnectorMixin.mpp rename to PPI/MultiConnectorMixin.mpp index 19d6b8c3fef45ffbfacc19b2ee233a317c9125c7..be0c9204d61d249e8300b85e801ead20dcbf865a 100644 --- a/PPI/DynamicConnectorMixin.mpp +++ b/PPI/MultiConnectorMixin.mpp @@ -21,10 +21,10 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief DynamicConnectorMixin Boost.Preprocesser external iteration include */ + \brief MultiConnectorMixin Boost.Preprocesser external iteration include */ -#if !BOOST_PP_IS_ITERATING && !defined(MPP_SENF_PPI_DynamicConnectorMixin_) -#define MPP_SENF_PPI_DynamicConnectorMixin_ 1 +#if !BOOST_PP_IS_ITERATING && !defined(MPP_SENF_PPI_MultiConnectorMixin_) +#define MPP_SENF_PPI_MultiConnectorMixin_ 1 // Custom includes #include <boost/preprocessor/iteration/iterate.hpp> @@ -63,21 +63,21 @@ // //////////////////////////////////////////////////////////////////////// #if BOOST_PP_ITERATION_FLAGS()==1 // ////////////////////////////////////// // //////////////////////////////////////////////////////////////////////// -// DynamicConnectorMixin member declaration +// MultiConnectorMixin member declaration mpp_TplParams() -ConnectorType & newConnector( mpp_FnParams() ); +ConnectorType_ & newConnector( mpp_FnParams() ); template <class Source, class Target mpp_TplParamsKomma()> friend typename boost::enable_if< - boost::is_base_of<connector::OutputConnector, typename Source::DynamicConnector>, - typename Source::DynamicConnector & >::type + boost::is_base_of<connector::OutputConnector, typename Source::ConnectorType>, + typename Source::ConnectorType & >::type senf::ppi::connect(Source & source, Target & target mpp_FnParamsKomma()); template <class Source, class Target mpp_TplParamsKomma()> friend typename boost::enable_if< - boost::is_base_of<connector::InputConnector, typename Target::DynamicConnector>, - typename Target::DynamicConnector & >::type + boost::is_base_of<connector::InputConnector, typename Target::ConnectorType>, + typename Target::ConnectorType & >::type senf::ppi::connect(Source & source, Target & target mpp_FnParamsKomma()); // //////////////////////////////////////////////////////////////////////// @@ -87,14 +87,14 @@ friend typename boost::enable_if< template <class Source, class Target mpp_TplParamsKomma()> typename boost::enable_if< - boost::is_base_of<connector::OutputConnector, typename Source::DynamicConnector>, - typename Source::DynamicConnector & >::type + boost::is_base_of<connector::OutputConnector, typename Source::ConnectorType>, + typename Source::ConnectorType & >::type connect(Source & source, Target & target mpp_FnParamsKomma()); template <class Source, class Target mpp_TplParamsKomma()> typename boost::enable_if< - boost::is_base_of<connector::InputConnector, typename Target::DynamicConnector>, - typename Target::DynamicConnector & >::type + boost::is_base_of<connector::InputConnector, typename Target::ConnectorType>, + typename Target::ConnectorType & >::type connect(Source & source, Target & target mpp_FnParamsKomma()); // //////////////////////////////////////////////////////////////////////// @@ -102,34 +102,34 @@ connect(Source & source, Target & target mpp_FnParamsKomma()); // //////////////////////////////////////////////////////////////////////// // Implementation -template <class Self, class ConnectorType, class KeyType, class ContainerType> +template <class Self_, class ConnectorType_, class KeyType_, class ContainerType_> mpp_TplParams() -prefix_ ConnectorType & -senf::ppi::module::DynamicConnectorMixin<Self,ConnectorType,KeyType,ContainerType>:: +prefix_ ConnectorType_ & +senf::ppi::module::MultiConnectorMixin<Self_,ConnectorType_,KeyType_,ContainerType_>:: newConnector(mpp_FnParams()) { - std::auto_ptr<ConnectorType> conn (new ConnectorType); - KeyType key (static_cast<Self*>(this)->connectorSetup(*conn mpp_CallParamsKomma())); + std::auto_ptr<ConnectorType_> conn (new ConnectorType_); + KeyType_ key (static_cast<Self_*>(this)->connectorSetup(*conn mpp_CallParamsKomma())); return * connectors_.insert(key, conn).first->second; } -template <class Self, class ConnectorType, class ContainerType> +template <class Self_, class ConnectorType_, class ContainerType_> mpp_TplParams() -prefix_ ConnectorType & -senf::ppi::module::DynamicConnectorMixin<Self,ConnectorType,void,ContainerType>:: +prefix_ ConnectorType_ & +senf::ppi::module::MultiConnectorMixin<Self_,ConnectorType_,void,ContainerType_>:: newConnector(mpp_FnParams()) { - connectors_.push_back(new ConnectorType); - ConnectorType & conn (connectors_.back()); - try { static_cast<Self*>(this)->connectorSetup(conn mpp_CallParamsKomma()); } + connectors_.push_back(new ConnectorType_); + ConnectorType_ & conn (connectors_.back()); + try { static_cast<Self_*>(this)->connectorSetup(conn mpp_CallParamsKomma()); } catch (...) { connectors_.pop_back(); throw; } return conn; } template <class Source, class Target mpp_TplParamsKomma()> typename boost::enable_if< - boost::is_base_of<senf::ppi::connector::OutputConnector, typename Source::DynamicConnector>, - typename Source::DynamicConnector & >::type + boost::is_base_of<senf::ppi::connector::OutputConnector, typename Source::ConnectorType>, + typename Source::ConnectorType & >::type senf::ppi::connect(Source & source, Target & target mpp_FnParamsKomma()) { connect(source.newConnector(mpp_CallParams()), target); @@ -137,8 +137,8 @@ senf::ppi::connect(Source & source, Target & target mpp_FnParamsKomma()) template <class Source, class Target mpp_TplParamsKomma()> typename boost::enable_if< - boost::is_base_of<senf::ppi::connector::InputConnector, typename Target::DynamicConnector>, - typename Target::DynamicConnector & >::type + boost::is_base_of<senf::ppi::connector::InputConnector, typename Target::ConnectorType>, + typename Target::ConnectorType & >::type senf::ppi::connect(Source & source, Target & target mpp_FnParamsKomma()) { connect(source, target.newConnector(mpp_CallParams())); diff --git a/PPI/DynamicConnectorMixin.test.cc b/PPI/MultiConnectorMixin.test.cc similarity index 89% rename from PPI/DynamicConnectorMixin.test.cc rename to PPI/MultiConnectorMixin.test.cc index 9eb5c3d0c1eb2c78985b9f1b3f4959def2f5da7c..34b76d555d97ffd6b39abbbed610c3e154bd5af5 100644 --- a/PPI/DynamicConnectorMixin.test.cc +++ b/PPI/MultiConnectorMixin.test.cc @@ -21,13 +21,13 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief DynamicConnectorMixin.test unit tests */ + \brief MultiConnectorMixin.test unit tests */ -//#include "DynamicConnectorMixin.test.hh" -//#include "DynamicConnectorMixin.test.ih" +//#include "MultiConnectorMixin.test.hh" +//#include "MultiConnectorMixin.test.ih" // Custom includes -#include "DynamicConnectorMixin.hh" +#include "MultiConnectorMixin.hh" #include "../Utils/auto_unit_test.hh" #include <boost/test/test_tools.hpp>