Mercurial > repos > yating-l > jbrowsearchivecreator
comparison test/include/python2.7/descrobject.h @ 3:7d1a9a91b989 draft
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
| author | yating-l |
|---|---|
| date | Thu, 18 May 2017 18:37:28 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 2:3e2160197902 | 3:7d1a9a91b989 |
|---|---|
| 1 /* Descriptors */ | |
| 2 #ifndef Py_DESCROBJECT_H | |
| 3 #define Py_DESCROBJECT_H | |
| 4 #ifdef __cplusplus | |
| 5 extern "C" { | |
| 6 #endif | |
| 7 | |
| 8 typedef PyObject *(*getter)(PyObject *, void *); | |
| 9 typedef int (*setter)(PyObject *, PyObject *, void *); | |
| 10 | |
| 11 typedef struct PyGetSetDef { | |
| 12 char *name; | |
| 13 getter get; | |
| 14 setter set; | |
| 15 char *doc; | |
| 16 void *closure; | |
| 17 } PyGetSetDef; | |
| 18 | |
| 19 typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, | |
| 20 void *wrapped); | |
| 21 | |
| 22 typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, | |
| 23 void *wrapped, PyObject *kwds); | |
| 24 | |
| 25 struct wrapperbase { | |
| 26 char *name; | |
| 27 int offset; | |
| 28 void *function; | |
| 29 wrapperfunc wrapper; | |
| 30 char *doc; | |
| 31 int flags; | |
| 32 PyObject *name_strobj; | |
| 33 }; | |
| 34 | |
| 35 /* Flags for above struct */ | |
| 36 #define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */ | |
| 37 | |
| 38 /* Various kinds of descriptor objects */ | |
| 39 | |
| 40 #define PyDescr_COMMON \ | |
| 41 PyObject_HEAD \ | |
| 42 PyTypeObject *d_type; \ | |
| 43 PyObject *d_name | |
| 44 | |
| 45 typedef struct { | |
| 46 PyDescr_COMMON; | |
| 47 } PyDescrObject; | |
| 48 | |
| 49 typedef struct { | |
| 50 PyDescr_COMMON; | |
| 51 PyMethodDef *d_method; | |
| 52 } PyMethodDescrObject; | |
| 53 | |
| 54 typedef struct { | |
| 55 PyDescr_COMMON; | |
| 56 struct PyMemberDef *d_member; | |
| 57 } PyMemberDescrObject; | |
| 58 | |
| 59 typedef struct { | |
| 60 PyDescr_COMMON; | |
| 61 PyGetSetDef *d_getset; | |
| 62 } PyGetSetDescrObject; | |
| 63 | |
| 64 typedef struct { | |
| 65 PyDescr_COMMON; | |
| 66 struct wrapperbase *d_base; | |
| 67 void *d_wrapped; /* This can be any function pointer */ | |
| 68 } PyWrapperDescrObject; | |
| 69 | |
| 70 PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type; | |
| 71 PyAPI_DATA(PyTypeObject) PyDictProxy_Type; | |
| 72 PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type; | |
| 73 PyAPI_DATA(PyTypeObject) PyMemberDescr_Type; | |
| 74 | |
| 75 PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); | |
| 76 PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); | |
| 77 PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *, | |
| 78 struct PyMemberDef *); | |
| 79 PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *, | |
| 80 struct PyGetSetDef *); | |
| 81 PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *, | |
| 82 struct wrapperbase *, void *); | |
| 83 #define PyDescr_IsData(d) (Py_TYPE(d)->tp_descr_set != NULL) | |
| 84 | |
| 85 PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *); | |
| 86 PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *); | |
| 87 | |
| 88 | |
| 89 PyAPI_DATA(PyTypeObject) PyProperty_Type; | |
| 90 #ifdef __cplusplus | |
| 91 } | |
| 92 #endif | |
| 93 #endif /* !Py_DESCROBJECT_H */ | |
| 94 |
