00001 // @(#)root/pyroot:$Id: ClassMethodHolder.h 33356 2010-05-04 00:45:17Z wlav $ 00002 // Author: Wim Lavrijsen, Aug 2004 00003 00004 #ifndef PYROOT_TCLASSMETHODHOLDER_H 00005 #define PYROOT_TCLASSMETHODHOLDER_H 00006 00007 // ROOT 00008 class TClass; 00009 class TMethod; 00010 00011 // Bindings 00012 #include "MethodHolder.h" 00013 00014 00015 namespace PyROOT { 00016 00017 /** Python side ROOT static function 00018 @author WLAV 00019 @date 08/03/2004 00020 @version 3.0 00021 */ 00022 00023 template< class T, class M > 00024 class TClassMethodHolder : public TMethodHolder< T, M > { 00025 public: 00026 TClassMethodHolder( const T& klass, const M& method ); 00027 00028 virtual PyCallable* Clone() { return new TClassMethodHolder( *this ); } 00029 00030 virtual PyObject* operator()( ObjectProxy*, PyObject* args, PyObject* kwds, Long_t = 0 ); 00031 }; 00032 00033 } // namespace PyROOT 00034 00035 #endif // !PYROOT_TCLASSMETHODHOLDER_H