Staging
v0.8.1
Revision ae7bc1348237a9120bc896e17c2e3461728ecb9c authored by Barry Warsaw on 22 May 2003, 19:13:35 UTC, committed by Barry Warsaw on 22 May 2003, 19:13:35 UTC
1 parent f828b41
Raw File
object_structure

/* 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(self, name)
	$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(self, name, v)
	$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);
}
back to top