Whitespce cleanup: Remove whitespace at end-on-line, remove tabs, wrap
[senf.git] / senf / PPI / MultiConnectorMixin.ih
index eff8769..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>
@@ -46,16 +46,24 @@ namespace detail {
     };
 
     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;
     };
 
@@ -63,53 +71,49 @@ 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> is_multiconnector_(T *, ...);
-    template <class T> senf::mpl::rv<1> is_multiconnector_(
-        T *,
-        typename boost::enable_if<boost::is_base_of<connector::OutputConnector, 
-                                                    typename T::ConnectorType>, 
-        int>::type);
-    template <class T> senf::mpl::rv<2> is_multiconnector_(
-        T *,
-        typename boost::enable_if<boost::is_base_of<connector::InputConnector, 
-                                                    typename T::ConnectorType>, 
-        int>::type);
+    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>,
+                                  int>::type);
+    template <class T> senf::mpl::rv<2> isMulticonnector(
+        typename boost::enable_if<boost::is_base_of<connector::InputConnector,
+                                                    typename T::ConnectorType>,
+                                  int>::type);
 
     template <class T, unsigned N>
-    struct is_multiconnector_source_
+    struct IsMulticonnectorSource_
         : public boost::false_type
     {};
 
     template <class T>
-    struct is_multiconnector_source_<T, 1u>
+    struct IsMulticonnectorSource_<T, 1u>
         : public boost::true_type
     {};
 
     template <class T>
-    struct is_multiconnector_source
-        : public is_multiconnector_source_<
-              T, SENF_MPL_RV(is_multiconnector_<T>(static_cast<T*>(0),0))>
+    struct IsMulticonnectorSource
+        : public IsMulticonnectorSource_<T, SENF_MPL_RV(isMulticonnector<T>(0))>
     {};
 
     template <class T, unsigned N>
-    struct is_multiconnector_target_
+    struct IsMulticonnectorTarget_
         : public boost::false_type
     {};
 
     template <class T>
-    struct is_multiconnector_target_<T, 2u>
+    struct IsMulticonnectorTarget_<T, 2u>
         : public boost::true_type
     {};
 
     template <class T>
-    struct is_multiconnector_target
-        : public is_multiconnector_target_<
-              T, SENF_MPL_RV(is_multiconnector_<T>(static_cast<T*>(0),0))>
+    struct IsMulticonnectorTarget
+        : public IsMulticonnectorTarget_<T, SENF_MPL_RV(isMulticonnector<T>(0))>
     {};