X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FJack.hh;h=52c6b82fcf93250ecbd282ca5f146d0aae419523;hb=6927c87144ca23845065e3c23e37c75f5f059cf3;hp=5cfbc12fe2407bc8b2212481ed7fe56fc90e9a90;hpb=2eb3c777cc9db271336c226f4eeec6018c196c3e;p=senf.git diff --git a/PPI/Jack.hh b/PPI/Jack.hh index 5cfbc12..52c6b82 100644 --- a/PPI/Jack.hh +++ b/PPI/Jack.hh @@ -38,58 +38,70 @@ namespace senf { namespace ppi { namespace connector { + /** \brief Connector Jack base class + \see \ref ppi_jacks */ class Jack : private boost::noncopyable {}; + /** \brief Jack referencing an ActiveInput + \see \ref ppi_jacks */ class GenericActiveInputJack : public Jack { public: explicit GenericActiveInputJack(GenericActiveInput & input); - GenericActiveInput & connector(); + GenericActiveInput & connector(); ///< Get referenced connector private: GenericActiveInput & input_; }; + /** \brief Jack referencing an ActiveOutput + \see \ref ppi_jacks */ class GenericActiveOutputJack : public Jack { public: explicit GenericActiveOutputJack(GenericActiveOutput & output); - GenericActiveOutput & connector(); + GenericActiveOutput & connector(); ///< Get referenced connector private: GenericActiveOutput & output_; }; + /** \brief Jack referencing a PassiveInput + \see \ref ppi_jacks */ class GenericPassiveInputJack : public Jack { public: explicit GenericPassiveInputJack(GenericPassiveInput & input); - GenericPassiveInput & connector(); + GenericPassiveInput & connector(); ///< Get referenced connector private: GenericPassiveInput & input_; }; + /** \brief Jack referencing a PassiveOutput + \see \ref ppi_jacks */ class GenericPassiveOutputJack : public Jack { public: explicit GenericPassiveOutputJack(GenericPassiveOutput & output); - GenericPassiveOutput & connector(); + GenericPassiveOutput & connector(); ///< Get referenced connector private: GenericPassiveOutput & output_; }; + /** \brief Jack with packet type referencing an ActiveInput + \see \ref ppi_jacks */ template class ActiveInputJack : public GenericActiveInputJack @@ -97,6 +109,9 @@ namespace connector { public: explicit ActiveInputJack(ActiveInput & input); explicit ActiveInputJack(ActiveInput<> & input); + + explicit ActiveInputJack(ActiveInputJack & input); + explicit ActiveInputJack(ActiveInputJack<> & input); }; #ifndef DOXYGEN @@ -106,11 +121,14 @@ namespace connector { : public GenericActiveInputJack { public: - explicit ActiveInputJack(ActiveInput<> & input); + explicit ActiveInputJack(GenericActiveInput & input); + explicit ActiveInputJack(GenericActiveInputJack input); }; #endif + /** \brief Jack with packet type referencing an ActiveOutput + \see \ref ppi_jacks */ template class ActiveOutputJack : public GenericActiveOutputJack @@ -118,6 +136,9 @@ namespace connector { public: explicit ActiveOutputJack(ActiveOutput & output); explicit ActiveOutputJack(ActiveOutput<> & output); + + explicit ActiveOutputJack(ActiveOutputJack & output); + explicit ActiveOutputJack(ActiveOutputJack<> & output); }; #ifndef DOXYGEN @@ -127,11 +148,14 @@ namespace connector { : public GenericActiveOutputJack { public: - explicit ActiveOutputJack(ActiveOutput<> & output); + explicit ActiveOutputJack(GenericActiveOutput & output); + explicit ActiveOutputJack(GenericActiveOutputJack & output); }; #endif + /** \brief Jack with packet type referencing a PassiveInput + \see \ref ppi_jacks */ template class PassiveInputJack : public GenericPassiveInputJack @@ -139,6 +163,9 @@ namespace connector { public: explicit PassiveInputJack(PassiveInput & input); explicit PassiveInputJack(PassiveInput<> & input); + + explicit PassiveInputJack(PassiveInputJack & input); + explicit PassiveInputJack(PassiveInputJack<> & input); }; #ifndef DOXYGEN @@ -148,11 +175,14 @@ namespace connector { : public GenericPassiveInputJack { public: - explicit PassiveInputJack(PassiveInput<> & input); + explicit PassiveInputJack(GenericPassiveInput & input); + explicit PassiveInputJack(GenericPassiveInputJack & input); }; #endif + /** \brief Jack with packet type referencing a PassiveOutput + \see \ref ppi_jacks */ template class PassiveOutputJack : public GenericPassiveOutputJack @@ -160,6 +190,9 @@ namespace connector { public: explicit PassiveOutputJack(PassiveOutput & output); explicit PassiveOutputJack(PassiveOutput<> & output); + + explicit PassiveOutputJack(PassiveOutputJack & output); + explicit PassiveOutputJack(PassiveOutputJack<> & output); }; #ifndef DOXYGEN @@ -169,7 +202,8 @@ namespace connector { : public GenericPassiveOutputJack { public: - explicit PassiveOutputJack(PassiveOutput<> & output); + explicit PassiveOutputJack(GenericPassiveOutput & output); + explicit PassiveOutputJack(GenericPassiveOutputJack & output); }; #endif