Whitespce cleanup: Remove whitespace at end-on-line, remove tabs, wrap
[senf.git] / senf / PPI / MultiConnectorMixin.ih
index 72121b2..9d4a7f5 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2009 
+// Copyright (C) 2009
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
 // Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
@@ -43,26 +43,27 @@ namespace detail {
             SENF_ABSOLUTE_INCLUDE_PATH(PPI/MultiConnectorMixin.mpp),    \
             8 ))
 #       include BOOST_PP_ITERATE()
-
-#       define BOOST_PP_ITERATION_PARAMS_1 (4, ( \
-            0, \
-            2*SENF_MULTI_CONNECTOR_MAX_ARGS,                            \
-            SENF_ABSOLUTE_INCLUDE_PATH(PPI/MultiConnectorMixin.mpp),    \
-            10 ))
-#       include BOOST_PP_ITERATE()
     };
 
     template <class KeyType, class ConnectorType>
-    struct MultiConnectorDefaultContainer 
-    { 
-        typedef boost::ptr_map<KeyType, ConnectorType> type; 
+    struct MultiConnectorDefaultContainer
+    {
+        typedef boost::ptr_map<KeyType, ConnectorType> type;
+    };
+
+    template <class Module, class Connector>
+    class MultiConnectorWrapper
+        : public Connector
+    {
+    private:
+        virtual void v_disconnected() const;
     };
 
 #ifndef DOXYGEN
 
     template <class ConnectorType>
-    struct MultiConnectorDefaultContainer<void,ConnectorType> 
-    { 
+    struct MultiConnectorDefaultContainer<void,ConnectorType>
+    {
         typedef boost::ptr_vector<ConnectorType> type;
     };
 
@@ -70,19 +71,19 @@ namespace detail {
 
     template <class ConnectorType>
     struct MultiConnectorSelectBase
-        : public boost::mpl::if_< 
+        : public boost::mpl::if_<
               boost::is_base_of<connector::InputConnector, ConnectorType>,
               ppi::detail::DisableStandardInput, ppi::detail::DisableStandardOutput >
     {};
 
     template <class T> senf::mpl::rv<0> isMulticonnector(...);
     template <class T> senf::mpl::rv<1> isMulticonnector(
-        typename boost::enable_if<boost::is_base_of<connector::OutputConnector, 
-                                                    typename T::ConnectorType>, 
+        typename boost::enable_if<boost::is_base_of<connector::OutputConnector,
+                                                    typename T::ConnectorType>,
                                   int>::type);
     template <class T> senf::mpl::rv<2> isMulticonnector(
-        typename boost::enable_if<boost::is_base_of<connector::InputConnector, 
-                                                    typename T::ConnectorType>, 
+        typename boost::enable_if<boost::is_base_of<connector::InputConnector,
+                                                    typename T::ConnectorType>,
                                   int>::type);
 
     template <class T, unsigned N>