00001
00002
00003
00004 #ifndef PYROOT_ROOTWRAPPER_H
00005 #define PYROOT_ROOTWRAPPER_H
00006
00007
00008 class TClass;
00009 class TGlobal;
00010
00011
00012 #include <string>
00013
00014
00015 namespace PyROOT {
00016
00017
00018 void InitRoot();
00019
00020
00021 template< class T, class B, class M >
00022 int BuildRootClassDict( const T& klass, PyObject* pyclass );
00023
00024
00025 template< class T, class B, class M >
00026 PyObject* BuildRootClassBases( const T& klass );
00027
00028
00029 template< class T, class B, class M >
00030 PyObject* MakeRootClassFromString( const std::string& name, PyObject* scope = 0 );
00031
00032 PyObject* MakeRootClass( PyObject*, PyObject* args );
00033 PyObject* MakeRootClassFromType( TClass* );
00034
00035
00036 PyObject* GetRootGlobal( PyObject*, PyObject* args );
00037 PyObject* GetRootGlobalFromString( const std::string& name );
00038
00039
00040 PyObject* BindRootObjectNoCast( void* object, TClass* klass, Bool_t isRef = kFALSE );
00041 PyObject* BindRootObject( void* object, TClass* klass, Bool_t isRef = kFALSE );
00042 PyObject* BindRootGlobal( TGlobal* );
00043
00044 }
00045
00046 #endif // !PYROOT_ROOTWRAPPER_H