The 0.5 release happened on 2/15, not on 2/14. :-)
[python/dscho.git] / Tools / modulator / Templates / object_structure
blob4bb92ef7f19723705e3aa7fdec12ebd172bf9c06
2 /* Code to access structure members by accessing attributes */
4 #include "structmember.h"
6 #define OFF(x) offsetof(XXXXobject, x)
8 static struct memberlist $abbrev$_memberlist[] = {
9         /* XXXX Add lines like { "foo", T_INT, OFF(foo), RO }  */
11         {NULL}  /* Sentinel */
14 static PyObject *
15 $abbrev$_getattr(self, name)
16         $abbrev$object *self;
17         char *name;
19         PyObject *rv;
20         
21         /* XXXX Add your own getattr code here */
22         rv = PyMember_Get((char *)/*XXXX*/0, $abbrev$_memberlist, name);
23         if (rv)
24                 return rv;
25         PyErr_Clear();
26         return Py_FindMethod($abbrev$_methods, (PyObject *)self, name);
30 static int
31 $abbrev$_setattr(self, name, v)
32         $abbrev$object *self;
33         char *name;
34         PyObject *v;
36         /* XXXX Add your own setattr code here */
37         if ( v == NULL ) {
38                 PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
39                 return -1;
40         }
41         return PyMember_Set((char *)/*XXXX*/0, $abbrev$_memberlist, name, v);