Logo ROOT   6.16/01
Reference Guide
PyCallable.h
Go to the documentation of this file.
1// @(#)root/pyroot:$Id$
2// Author: Wim Lavrijsen, Aug 2004
3
4#ifndef PYROOT_PYCALLABLE_H
5#define PYROOT_PYCALLABLE_H
6
7// Bindings
8#include "TCallContext.h"
9
10
11namespace PyROOT {
12
13 class ObjectProxy;
14
15 class PyCallable {
16 public:
17 virtual ~PyCallable() {}
18
19 public:
20 virtual PyObject* GetSignature() = 0;
21 virtual PyObject* GetPrototype() = 0;
22 virtual PyObject* GetDocString() { return GetPrototype(); }
23
24 virtual Int_t GetPriority() = 0;
25
26 virtual Int_t GetMaxArgs() = 0;
27 virtual PyObject* GetCoVarNames() = 0;
28 virtual PyObject* GetArgDefault( Int_t /* iarg */ ) = 0;
29
30 virtual PyObject* GetScopeProxy() = 0;
31
32 virtual PyCallable* Clone() = 0;
33
34 public:
35 virtual PyObject* Call(
36 ObjectProxy*& self, PyObject* args, PyObject* kwds, TCallContext* ctxt = 0 ) = 0;
37 };
38
39} // namespace PyROOT
40
41#endif // !PYROOT_PYCALLABLE_H
int Int_t
Definition: RtypesCore.h:41
_object PyObject
Definition: TPyArg.h:20
virtual Int_t GetMaxArgs()=0
virtual PyObject * GetPrototype()=0
virtual Int_t GetPriority()=0
virtual PyCallable * Clone()=0
virtual PyObject * GetScopeProxy()=0
virtual PyObject * GetDocString()
Definition: PyCallable.h:22
virtual PyObject * GetArgDefault(Int_t)=0
virtual ~PyCallable()
Definition: PyCallable.h:17
virtual PyObject * GetCoVarNames()=0
virtual PyObject * GetSignature()=0
virtual PyObject * Call(ObjectProxy *&self, PyObject *args, PyObject *kwds, TCallContext *ctxt=0)=0