Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

CTBsignal.hxx

Go to the documentation of this file.
00001 #ifndef _CTBsignal_HXX
00002 #define _CTBsignal_HXX 1
00003 
00011 /*----------------------------------------------------------------------------*/
00012 /* C Tool Box: Designed and implemented by:                                   */
00013 /*    Walter F.J. Mueller   Gesellschaft fuer Schwerionenforschung (GSI)      */
00014 /*                          Planckstrasse 1, D-64291 Darmstadt, Germany       */
00015 /*                  Email:  W.F.J.Mueller@gsi.de                              */
00016 /*                  WWW:    http://www-kp3.gsi.de/www/kp3/people/mueller.html */
00017 /*------------------------------------------+---------------------------------*/
00018  
00019 #include "CTBsignalBase.hxx"
00020 
00021 template <class T, class TE>
00022 class CTBsignalReceiver : public CTBsignalReceiverBase {
00023 
00024   public:
00025                     CTBsignalReceiver();
00026                     CTBsignalReceiver(const CTBsignalReceiver<T,TE>& rhs);
00027 
00028                     CTBsignalReceiver(T* p_this, void (T::* o_func)
00029                                         (TE* p_emitter, CTBuint32 i_mask));
00030                     CTBsignalReceiver(const CTBsignalReceiver<T,TE>& rhs,
00031                                       T* p_this, void (T::* o_func)
00032                                         (TE* p_emitter, CTBuint32 i_mask));
00033 
00034     void            Configure(T* p_this, void (T::* o_func)
00035                                 (TE* p_emitter, CTBuint32 i_mask));
00036 
00037     void            Connect(CTBsignalEmitter& emitter,
00038                             TE* p_emitter, CTBuint32 i_mask = 0xffffffff);
00039   
00040   private:
00041 
00042     virtual void    Execute(void* p_emitter, CTBuint32 i_mask) const;
00043 
00044   private:
00045 
00046     T*              mp_this;
00047     void            (T::* mo_func)(TE* p_emitter, CTBuint32 i_mask);
00048 };
00049 
00050 // the implementation is fully inlined and always included here
00051 #include "CTBsignal.icc"
00052 
00053 #endif
00054 
00055 
00056 
00057 
00058 
00059 

Generated at Fri Oct 24 18:11:30 2003 for CTBbase by doxygen1.2.9-20010812 written by Dimitri van Heesch, © 1997-2001