4 #ifndef PYROOT_PROPERTYPROXY_H
5 #define PYROOT_PROPERTYPROXY_H
27 void Set( Cppyy::TCppScope_t scope, Cppyy::TCppIndex_t idata );
28 void Set( Cppyy::TCppScope_t scope,
const std::string& name,
void* address, TEnum* en );
30 std::string GetName() {
return fName; }
31 void* GetAddress( ObjectProxy* pyobj );
37 TConverter* fConverter;
38 Cppyy::TCppScope_t fEnclosingScope;
47 R__EXTERN PyTypeObject PropertyProxy_Type;
49 template<
typename T >
50 inline Bool_t PropertyProxy_Check( T*
object )
52 return object && PyObject_TypeCheck(
object, &PropertyProxy_Type );
55 template<
typename T >
56 inline Bool_t PropertyProxy_CheckExact( T*
object )
58 return object && Py_TYPE(
object) == &PropertyProxy_Type;
62 inline PropertyProxy* PropertyProxy_New(
63 Cppyy::TCppScope_t scope, Cppyy::TCppIndex_t idata )
66 PropertyProxy* pyprop =
67 (PropertyProxy*)PropertyProxy_Type.tp_new( &PropertyProxy_Type, 0, 0 );
68 pyprop->Set( scope, idata );
72 inline PropertyProxy* PropertyProxy_NewConstant(
73 Cppyy::TCppScope_t scope,
const std::string& name,
void* address, TEnum* en )
76 PropertyProxy* pyprop =
77 (PropertyProxy*)PropertyProxy_Type.tp_new( &PropertyProxy_Type, 0, 0 );
78 pyprop->Set( scope, name, address, en );
84 #endif // !PYROOT_PROPERTYPROXY_H