private:\
TQObjSender fQObject;\
public:\
TList *GetListOfSignals() const {return fQObject.GetListOfSignals();}\
Bool_t Connect(const char *sig,const char *cl,void *rcvr,const char *slt)\
{fQObject.SetSender(this);fQObject.SetSenderClassName(sender_class);return fQObject.Connect(sig,cl,rcvr,slt);}\
Bool_t Disconnect(const char *sig=0,void *rcvr=0,const char *slt=0){return fQObject.Disconnect(sig,rcvr,slt);}\
void HighPriority(const char *signal_name,const char *slot_name=0){fQObject.HighPriority(signal_name,slot_name);}\
void LowPriority(const char *signal_name,const char *slot_name=0){fQObject.LowPriority(signal_name,slot_name);}\
template <
typename...
T>
void EmitVA(
const char *signal_name,
Int_t nargs,
const T&... params) \
{ fQObject.EmitVA(signal_name,nargs,params...); } \
void Emit(
const char *
signal){fQObject.Emit(signal);}\
void Emit(const char *signal,const char *params){fQObject.Emit(signal,params);}\
void Emit(
const char *signal,
Long_t *paramArr){fQObject.Emit(signal,paramArr);}\
void Emit(
const char *signal,
Double_t param){fQObject.Emit(signal,param);}\
void Emit(
const char *signal,
Long_t param){fQObject.Emit(signal,param);}