X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FMultiConnectorMixin.ih;h=3741bf29ed51fdb8080651424941e6e40a2ed754;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=eff87698c7247b8fbf1ff123be69617d6d675101;hpb=2d88e6b3f5a6f3906e42264f58859e6bf9c12dae;p=senf.git diff --git a/senf/PPI/MultiConnectorMixin.ih b/senf/PPI/MultiConnectorMixin.ih index eff8769..3741bf2 100644 --- a/senf/PPI/MultiConnectorMixin.ih +++ b/senf/PPI/MultiConnectorMixin.ih @@ -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 @@ -46,16 +46,24 @@ namespace detail { }; template - struct MultiConnectorDefaultContainer - { - typedef boost::ptr_map type; + struct MultiConnectorDefaultContainer + { + typedef boost::ptr_map type; + }; + + template + class MultiConnectorWrapper + : public Connector + { + private: + virtual void v_disconnected(); }; #ifndef DOXYGEN template - struct MultiConnectorDefaultContainer - { + struct MultiConnectorDefaultContainer + { typedef boost::ptr_vector type; }; @@ -63,53 +71,49 @@ namespace detail { template struct MultiConnectorSelectBase - : public boost::mpl::if_< + : public boost::mpl::if_< boost::is_base_of, ppi::detail::DisableStandardInput, ppi::detail::DisableStandardOutput > {}; - template senf::mpl::rv<0> is_multiconnector_(T *, ...); - template senf::mpl::rv<1> is_multiconnector_( - T *, - typename boost::enable_if, - int>::type); - template senf::mpl::rv<2> is_multiconnector_( - T *, - typename boost::enable_if, - int>::type); + template senf::mpl::rv<0> isMulticonnector(...); + template senf::mpl::rv<1> isMulticonnector( + typename boost::enable_if, + int>::type); + template senf::mpl::rv<2> isMulticonnector( + typename boost::enable_if, + int>::type); template - struct is_multiconnector_source_ + struct IsMulticonnectorSource_ : public boost::false_type {}; template - struct is_multiconnector_source_ + struct IsMulticonnectorSource_ : public boost::true_type {}; template - struct is_multiconnector_source - : public is_multiconnector_source_< - T, SENF_MPL_RV(is_multiconnector_(static_cast(0),0))> + struct IsMulticonnectorSource + : public IsMulticonnectorSource_(0))> {}; template - struct is_multiconnector_target_ + struct IsMulticonnectorTarget_ : public boost::false_type {}; template - struct is_multiconnector_target_ + struct IsMulticonnectorTarget_ : public boost::true_type {}; template - struct is_multiconnector_target - : public is_multiconnector_target_< - T, SENF_MPL_RV(is_multiconnector_(static_cast(0),0))> + struct IsMulticonnectorTarget + : public IsMulticonnectorTarget_(0))> {};