00001
00006
00007
00008
00009
00010
00011
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 }