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

CTBsignal.icc

Go to the documentation of this file.
00001 
00006 /*----------------------------------------------------------------------------*/
00007 /* C Tool Box: Designed and implemented by:                                   */
00008 /*    Walter F.J. Mueller   Gesellschaft fuer Schwerionenforschung (GSI)      */
00009 /*                          Planckstrasse 1, D-64291 Darmstadt, Germany       */
00010 /*                  Email:  W.F.J.Mueller@gsi.de                              */
00011 /*                  WWW:    http://www-kp3.gsi.de/www/kp3/people/mueller.html */
00012 /*------------------------------------------+---------------------------------*/
00013 
00022 //------------------------------------------+-----------------------------------
00024 
00025 template <class T, class TE>
00026 inline CTBsignalReceiver<T,TE>::CTBsignalReceiver()
00027   : mp_this(0),
00028     mo_func(0)
00029 {}
00030 
00031 //------------------------------------------+-----------------------------------
00033 
00034 template <class T, class TE>
00035 inline CTBsignalReceiver<T,TE>::CTBsignalReceiver(
00036     const CTBsignalReceiver<T,TE>& rhs)
00037   : CTBsignalReceiverBase(rhs),
00038     mp_this(0),
00039     mo_func(0)
00040 {}
00041 
00042 //------------------------------------------+-----------------------------------
00044 
00045 template <class T, class TE>
00046 inline CTBsignalReceiver<T,TE>::CTBsignalReceiver(
00047     T* p_this, void (T::* o_func) (TE* p_emitter, CTBuint32 i_mask))
00048   : mp_this(p_this),
00049     mo_func(o_func)
00050 {}
00051 
00052 //------------------------------------------+-----------------------------------
00054 
00055 template <class T, class TE>
00056 inline CTBsignalReceiver<T,TE>::CTBsignalReceiver(
00057     const CTBsignalReceiver<T,TE>& rhs, T* p_this, 
00058     void (T::* o_func) (TE* p_emitter, CTBuint32 i_mask))
00059  : CTBsignalReceiverBase(rhs),
00060    mp_this(p_this),
00061    mo_func(o_func)
00062 {}
00063 
00064 //------------------------------------------+-----------------------------------
00066 
00067 template <class T, class TE>
00068 inline void CTBsignalReceiver<T,TE>::Configure(T* p_this,
00069   void (T::* o_func) (TE* p_emitter, CTBuint32 i_mask))
00070 {
00071   mp_this = p_this;
00072   mo_func = o_func;
00073   return;    
00074 }
00075 
00076 //------------------------------------------+-----------------------------------
00078 
00079 template <class T, class TE>
00080 inline void CTBsignalReceiver<T,TE>::Connect(CTBsignalEmitter& emitter,
00081                                              TE* p_emitter, CTBuint32 i_mask)
00082 {
00083   CTBsignalReceiverBase::Connect(emitter, p_emitter, i_mask);
00084   return;  
00085 }
00086 
00087 //------------------------------------------+-----------------------------------
00089 
00090 template <class T, class TE>
00091 inline void CTBsignalReceiver<T,TE>::Execute(void* p_emitter, 
00092                                              CTBuint32 i_mask) const
00093 {
00094   if (mp_this) (mp_this->*mo_func)((TE*) p_emitter, i_mask);  
00095   return;
00096 }

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