diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Tools/modulator/Templates/object_structure --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/python-2.6.1/Tools/modulator/Templates/object_structure Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,37 @@ + +/* Code to access structure members by accessing attributes */ + +#include "structmember.h" + +#define OFF(x) offsetof(XXXXobject, x) + +static struct memberlist $abbrev$_memberlist[] = { + /* XXXX Add lines like { "foo", T_INT, OFF(foo), RO } */ + + {NULL} /* Sentinel */ +}; + +static PyObject * +$abbrev$_getattr($abbrev$object *self, char *name) +{ + PyObject *rv; + + /* XXXX Add your own getattr code here */ + rv = PyMember_Get((char *)/*XXXX*/0, $abbrev$_memberlist, name); + if (rv) + return rv; + PyErr_Clear(); + return Py_FindMethod($abbrev$_methods, (PyObject *)self, name); +} + + +static int +$abbrev$_setattr($abbrev$object *self, char *name, PyObject *v) +{ + /* XXXX Add your own setattr code here */ + if ( v == NULL ) { + PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute"); + return -1; + } + return PyMember_Set((char *)/*XXXX*/0, $abbrev$_memberlist, name, v); +}