X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FJack.hh;h=9d5718677adc4b34f694aae74c4a48d6308360ed;hb=1a29b75bf774444ec182dfff8480a0c53597bf85;hp=52c6b82fcf93250ecbd282ca5f146d0aae419523;hpb=d388d1e9ea6e5388a4be8c5f6dd4f33dcf71b348;p=senf.git diff --git a/PPI/Jack.hh b/PPI/Jack.hh index 52c6b82..9d57186 100644 --- a/PPI/Jack.hh +++ b/PPI/Jack.hh @@ -30,6 +30,7 @@ #include #include #include "Connectors.hh" +#include "Setup.hh" //#include "Jack.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -41,7 +42,7 @@ namespace connector { /** \brief Connector Jack base class \see \ref ppi_jacks */ class Jack - : private boost::noncopyable + : private boost::noncopyable, private ppi::detail::DisableStandardConnect {}; /** \brief Jack referencing an ActiveInput @@ -54,8 +55,11 @@ namespace connector { GenericActiveInput & connector(); ///< Get referenced connector + void reset(GenericActiveInput & input); ///< Change connector + /**< Will update any existing connection accordingly */ + private: - GenericActiveInput & input_; + GenericActiveInput * input_; }; /** \brief Jack referencing an ActiveOutput @@ -68,8 +72,11 @@ namespace connector { GenericActiveOutput & connector(); ///< Get referenced connector + void reset(GenericActiveOutput & output); ///< Change connector + /**< Will update any existing connection accordingly */ + private: - GenericActiveOutput & output_; + GenericActiveOutput * output_; }; /** \brief Jack referencing a PassiveInput @@ -82,8 +89,11 @@ namespace connector { GenericPassiveInput & connector(); ///< Get referenced connector + void reset(GenericPassiveInput & input); ///< Change connector + /**< Will update any existing connection accordingly */ + private: - GenericPassiveInput & input_; + GenericPassiveInput * input_; }; /** \brief Jack referencing a PassiveOutput @@ -96,8 +106,11 @@ namespace connector { GenericPassiveOutput & connector(); ///< Get referenced connector + void reset(GenericPassiveOutput & output); ///< Change connector + /**< Will update any existing connection accordingly */ + private: - GenericPassiveOutput & output_; + GenericPassiveOutput * output_; }; /** \brief Jack with packet type referencing an ActiveInput @@ -112,6 +125,12 @@ namespace connector { explicit ActiveInputJack(ActiveInputJack & input); explicit ActiveInputJack(ActiveInputJack<> & input); + + void reset(ActiveInput & input); + void reset(ActiveInput<> & input); + + void reset(ActiveInputJack & input); + void reset(ActiveInputJack<> & input); }; #ifndef DOXYGEN @@ -123,6 +142,9 @@ namespace connector { public: explicit ActiveInputJack(GenericActiveInput & input); explicit ActiveInputJack(GenericActiveInputJack input); + + void reset(GenericActiveInput & input); + void reset(GenericActiveInputJack input); }; #endif @@ -139,6 +161,12 @@ namespace connector { explicit ActiveOutputJack(ActiveOutputJack & output); explicit ActiveOutputJack(ActiveOutputJack<> & output); + + void reset(ActiveOutput & output); + void reset(ActiveOutput<> & output); + + void reset(ActiveOutputJack & output); + void reset(ActiveOutputJack<> & output); }; #ifndef DOXYGEN @@ -150,6 +178,9 @@ namespace connector { public: explicit ActiveOutputJack(GenericActiveOutput & output); explicit ActiveOutputJack(GenericActiveOutputJack & output); + + void reset(GenericActiveOutput & output); + void reset(GenericActiveOutputJack & output); }; #endif @@ -166,6 +197,12 @@ namespace connector { explicit PassiveInputJack(PassiveInputJack & input); explicit PassiveInputJack(PassiveInputJack<> & input); + + void reset(PassiveInput & input); + void reset(PassiveInput<> & input); + + void reset(PassiveInputJack & input); + void reset(PassiveInputJack<> & input); }; #ifndef DOXYGEN @@ -177,6 +214,9 @@ namespace connector { public: explicit PassiveInputJack(GenericPassiveInput & input); explicit PassiveInputJack(GenericPassiveInputJack & input); + + void reset(GenericPassiveInput & input); + void reset(GenericPassiveInputJack & input); }; #endif @@ -193,6 +233,12 @@ namespace connector { explicit PassiveOutputJack(PassiveOutputJack & output); explicit PassiveOutputJack(PassiveOutputJack<> & output); + + void reset(PassiveOutput & output); + void reset(PassiveOutput<> & output); + + void reset(PassiveOutputJack & output); + void reset(PassiveOutputJack<> & output); }; #ifndef DOXYGEN @@ -204,6 +250,9 @@ namespace connector { public: explicit PassiveOutputJack(GenericPassiveOutput & output); explicit PassiveOutputJack(GenericPassiveOutputJack & output); + + void reset(GenericPassiveOutput & output); + void reset(GenericPassiveOutputJack & output); }; #endif