X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FAnnotationRouter.hh;h=e438755ba452dd5c0c0e1406ce58ad852282ce7c;hb=164fe477094d42463722584e527a02379ab5d985;hp=705eb8dab9406163b9abc4d863008d88e426550f;hpb=ecfce1384902b0e341536988c821ab03d1af77f2;p=senf.git diff --git a/PPI/AnnotationRouter.hh b/PPI/AnnotationRouter.hh index 705eb8d..e438755 100644 --- a/PPI/AnnotationRouter.hh +++ b/PPI/AnnotationRouter.hh @@ -31,6 +31,7 @@ #include "../Utils/String.hh" #include "Module.hh" #include "Connectors.hh" +#include "MultiConnectorMixin.hh" //#include "AnnotationRouter.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -93,7 +94,11 @@ namespace module { from the container */ template - class AnnotationRouter : public Module + class AnnotationRouter + : public Module, + public MultiConnectorMixin< AnnotationRouter, + connector::ActiveOutput<>, + AnnotationType > { SENF_PPI_MODULE(AnnotationRouter); public: @@ -108,39 +113,20 @@ namespace module { { append( senf::str(key)); } }; private: - connector::ActiveOutput<> & newOutput(AnnotationType const & key); - -#ifndef DOXYGEN - // I didn't get template friend functions to work ... - public: -#endif - template - connector::GenericActiveOutput & connect(Target & target, AnnotationType const & key); - - private: + AnnotationType connectorSetup(connector::ActiveOutput<> & conn, AnnotationType const & key); void request(); - - typedef boost::ptr_map > Outputs; - Outputs outputs_; - }; - -} - -#ifndef DOXYGEN - template - connector::GenericActiveOutput & connect( - module::AnnotationRouter & source, Target & target, - ArgType const & key); - -#endif + friend class MultiConnectorMixin< AnnotationRouter, + connector::ActiveOutput<>, + AnnotationType >; + }; -}} +}}} ///////////////////////////////hh.e//////////////////////////////////////// //#include "AnnotationRouter.cci" #include "AnnotationRouter.ct" -#include "AnnotationRouter.cti" +//#include "AnnotationRouter.cti" #endif