1#ifndef OBJC_INSTANCE_VAR 2#define OBJC_INSTANCE_VAR 3 4typedef struct { 5 PyObject_HEAD 6 char* name; /* Name of the instance variable */ 7 char* type; /* Type of the instance variable for definition only */ 8 int isOutlet; 9 int isSlot; 10 Ivar ivar; 11} PyObjCInstanceVariable; 12 13 14extern PyTypeObject PyObjCInstanceVariable_Type; 15#define PyObjCInstanceVariable_Check(obj) PyObject_TypeCheck((obj), &PyObjCInstanceVariable_Type) 16 17PyObject* PyObjCInstanceVariable_New(char* name); 18int PyObjCInstanceVariable_SetName(PyObject* self, PyObject* name); 19 20#define PyObjCInstanceVariable_IsOutlet(obj) \ 21 (((PyObjCInstanceVariable*)(obj))->isOutlet) 22#define PyObjCInstanceVariable_IsSlot(obj) \ 23 (((PyObjCInstanceVariable*)(obj))->isSlot) 24#define PyObjCInstanceVariable_GetName(obj) \ 25 (((PyObjCInstanceVariable*)(obj))->name) 26#define PyObjCInstanceVariable_GetType(obj) \ 27 (((PyObjCInstanceVariable*)(obj))->type) 28 29PyObject* PyObjCIvar_Info(PyObject* self, PyObject* arg); 30PyObject* PyObjCIvar_Set(PyObject* self, PyObject* args, PyObject* kwds); 31PyObject* PyObjCIvar_Get(PyObject* self, PyObject* args, PyObject* kwds); 32 33 34 35#endif /* OBJC_INSTANCE_VAR */ 36