3 #ifndef ROOT_TPyDispatcher
4 #define ROOT_TPyDispatcher
26 class TGLPhysicalShape;
30 class TGVFileSplitter;
34 class TProofProgressInfo;
44 typedef _object PyObject;
47 class TPyDispatcher :
public TObject {
49 TPyDispatcher( PyObject* callable );
50 TPyDispatcher(
const TPyDispatcher& );
51 TPyDispatcher& operator=(
const TPyDispatcher& );
56 PyObject* DispatchVA(
const char* format = 0, ... );
58 PyObject* DispatchVA(
const char* format, ... );
60 PyObject* DispatchVA1(
const char* clname,
void* obj,
const char* format, ... );
65 PyObject* Dispatch() {
return DispatchVA( 0 ); }
66 PyObject* Dispatch(
const char* param ) {
return DispatchVA(
"s", param ); }
67 PyObject* Dispatch( Double_t param ) {
return DispatchVA(
"d", param ); }
68 PyObject* Dispatch( Long_t param ) {
return DispatchVA(
"l", param ); }
69 PyObject* Dispatch( Long64_t param ) {
return DispatchVA(
"L", param ); }
72 PyObject* Dispatch( Bool_t param ) {
return DispatchVA(
"i", param ); }
73 PyObject* Dispatch(
char* param ) {
return DispatchVA(
"s", param ); }
74 PyObject* Dispatch(
const char* text, Int_t len ) {
return DispatchVA(
"si", text, len ); }
75 PyObject* Dispatch( Int_t param ) {
return DispatchVA(
"i", param ); }
76 PyObject* Dispatch( Int_t x, Int_t y ) {
return DispatchVA(
"ii", x, y ); }
77 PyObject* Dispatch( ULong_t param ) {
return DispatchVA(
"k", param ); }
80 PyObject* Dispatch( Event_t* event ) {
return DispatchVA1(
"Event_t", event, 0 ); }
81 PyObject* Dispatch( Event_t* event, ULong_t wid ) {
return DispatchVA1(
"Event_t", event,
"k", wid ); }
82 PyObject* Dispatch( TEveDigitSet* qs, Int_t idx ) {
return DispatchVA1(
"TEveDigitSet", qs,
"i", idx ); }
83 PyObject* Dispatch( TEveElement* el ) {
return DispatchVA1(
"TEveElement", el, 0 ); }
84 PyObject* Dispatch( TEveTrack* et ) {
return DispatchVA1(
"TEveTrack", et, 0 ); }
85 PyObject* Dispatch( TEveWindow* window ) {
return DispatchVA1(
"TEveWindow", window, 0 ); }
86 PyObject* Dispatch( TGFrame* frame ) {
return DispatchVA1(
"TGFrame", frame, 0 ); }
87 PyObject* Dispatch( TGFrame* frame, Int_t btn ) {
88 return DispatchVA1(
"TGFrame", frame,
"i", btn ); }
89 PyObject* Dispatch( TGFrame* frame, Int_t btn, Int_t x, Int_t y ) {
90 return DispatchVA1(
"TGFrame", frame,
"iii", btn, x, y ); }
91 PyObject* Dispatch( TGFrame* frame, UInt_t keysym, UInt_t mask ) {
92 return DispatchVA1(
"TGFrame", frame,
"II", keysym, mask ); }
93 PyObject* Dispatch( TGListTreeItem* entry ) {
return DispatchVA1(
"TGListTreeItem", entry, 0 ); }
94 PyObject* Dispatch( TGListTreeItem* entry, UInt_t mask ) {
95 return DispatchVA1(
"TGListTreeItem", entry,
"I", mask ); }
96 PyObject* Dispatch( TGListTreeItem* entry, UInt_t keysym, UInt_t mask ) {
97 return DispatchVA1(
"TGListTreeItem", entry,
"II", keysym, mask ); }
98 PyObject* Dispatch( TGListTreeItem* entry, Int_t btn ) {
99 return DispatchVA1(
"TGListTreeItem", entry,
"i", btn ); }
100 PyObject* Dispatch( TGListTreeItem* entry, Int_t btn, Int_t x, Int_t y ) {
101 return DispatchVA1(
"TGListTreeItem", entry,
"iii", btn, x, y ); }
102 PyObject* Dispatch( TGLVEntry* entry, Int_t btn ) {
103 return DispatchVA1(
"TGLVEntry", entry,
"i", btn ); }
104 PyObject* Dispatch( TGLVEntry* entry, Int_t btn, Int_t x, Int_t y ) {
105 return DispatchVA1(
"TGLVEntry", entry,
"iii", btn, x, y ); }
106 PyObject* Dispatch( TGLViewerBase* viewer ) {
107 return DispatchVA1(
"TGLViewerBase", viewer, 0 ); }
108 PyObject* Dispatch( TGLPhysicalShape* shape ) {
109 return DispatchVA1(
"TGLPhysicalShape", shape, 0 ); }
110 PyObject* Dispatch( TGLPhysicalShape* shape, UInt_t u1, UInt_t u2 ) {
111 return DispatchVA1(
"TGLPhysicalShape", shape,
"II", u1, u2 ); }
112 PyObject* Dispatch( TGMdiFrame* frame ) {
return DispatchVA1(
"TGMdiFrame", frame, 0 ); }
113 PyObject* Dispatch( TGShutterItem* item ) {
return DispatchVA1(
"TGShutterItem", item, 0 ); }
114 PyObject* Dispatch( TGVFileSplitter* frame ) {
return DispatchVA1(
"TGVFileSplitter", frame, 0 ); }
115 PyObject* Dispatch( TList* objs ) {
return DispatchVA1(
"TList", objs, 0 ); }
116 PyObject* Dispatch( TObject* obj ) {
return DispatchVA1(
"TObject", obj, 0 ); }
117 PyObject* Dispatch( TObject* obj, Bool_t check ) {
118 return DispatchVA1(
"TObject", obj,
"i", check ); }
119 PyObject* Dispatch( TObject* obj, UInt_t state ) {
120 return DispatchVA1(
"TObject", obj,
"I", state ); }
121 PyObject* Dispatch( TObject* obj, UInt_t button, UInt_t state ) {
122 return DispatchVA1(
"TObject", obj,
"II", button, state ); }
123 PyObject* Dispatch( TSocket* sock ) {
return DispatchVA1(
"TSocket", sock, 0 ); }
124 PyObject* Dispatch( TVirtualPad* pad ) {
return DispatchVA1(
"TVirtualPad", pad, 0 ); }
126 PyObject* Dispatch( TPad* selpad, TObject* selected, Int_t event );
127 PyObject* Dispatch( Int_t event, Int_t x, Int_t y, TObject* selected );
128 PyObject* Dispatch( TVirtualPad* pad, TObject* obj, Int_t event );
129 PyObject* Dispatch( TGListTreeItem* item, TDNDData* data );
130 PyObject* Dispatch(
const char* name,
const TList* attr );
133 PyObject* Dispatch(
const char* msg, Bool_t all ) {
return DispatchVA(
"si", msg, all ); }
134 PyObject* Dispatch( Long64_t total, Long64_t processed ) {
135 return DispatchVA(
"LL", total, processed );
137 PyObject* Dispatch( Long64_t total, Long64_t processed, Long64_t bytesread,
138 Float_t initTime, Float_t procTime,
139 Float_t evtrti, Float_t mbrti ) {
140 return DispatchVA(
"LLLffff", total, processed, bytesread, initTime, procTime, evtrti, mbrti );
142 PyObject* Dispatch( Long64_t total, Long64_t processed, Long64_t bytesread,
143 Float_t initTime, Float_t procTime,
144 Float_t evtrti, Float_t mbrti,
145 Int_t actw, Int_t tses, Float_t eses ) {
146 return DispatchVA(
"LLLffffiif",
147 total, processed, bytesread, initTime, procTime, evtrti, mbrti, actw, tses, eses );
149 PyObject* Dispatch(
const char* sel, Int_t sz, Long64_t fst, Long64_t ent ) {
150 return DispatchVA(
"siLL", sel, sz, fst, ent );
152 PyObject* Dispatch(
const char* msg, Bool_t status, Int_t done, Int_t total ) {
153 return DispatchVA(
"siii", msg, status, done, total );
156 PyObject* Dispatch( TSlave* slave, Long64_t total, Long64_t processed ) {
157 return DispatchVA1(
"TSlave", slave,
"LL", total, processed );
159 PyObject* Dispatch( TProofProgressInfo* pi ) {
return DispatchVA1(
"TProofProgressInfo", pi, 0 ); }
160 PyObject* Dispatch( TSlave* slave ) {
return DispatchVA(
"TSlave", slave, 0 ); }
161 PyObject* Dispatch( TSlave* slave, TProofProgressInfo* pi );
163 ClassDef( TPyDispatcher, 1 );