Mercurial > repos > yating-l > jbrowsearchivecreator
comparison test/include/python2.7/pycapsule.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 | |
| 2 /* Capsule objects let you wrap a C "void *" pointer in a Python | |
| 3 object. They're a way of passing data through the Python interpreter | |
| 4 without creating your own custom type. | |
| 5 | |
| 6 Capsules are used for communication between extension modules. | |
| 7 They provide a way for an extension module to export a C interface | |
| 8 to other extension modules, so that extension modules can use the | |
| 9 Python import mechanism to link to one another. | |
| 10 | |
| 11 For more information, please see "c-api/capsule.html" in the | |
| 12 documentation. | |
| 13 */ | |
| 14 | |
| 15 #ifndef Py_CAPSULE_H | |
| 16 #define Py_CAPSULE_H | |
| 17 #ifdef __cplusplus | |
| 18 extern "C" { | |
| 19 #endif | |
| 20 | |
| 21 PyAPI_DATA(PyTypeObject) PyCapsule_Type; | |
| 22 | |
| 23 typedef void (*PyCapsule_Destructor)(PyObject *); | |
| 24 | |
| 25 #define PyCapsule_CheckExact(op) (Py_TYPE(op) == &PyCapsule_Type) | |
| 26 | |
| 27 | |
| 28 PyAPI_FUNC(PyObject *) PyCapsule_New( | |
| 29 void *pointer, | |
| 30 const char *name, | |
| 31 PyCapsule_Destructor destructor); | |
| 32 | |
| 33 PyAPI_FUNC(void *) PyCapsule_GetPointer(PyObject *capsule, const char *name); | |
| 34 | |
| 35 PyAPI_FUNC(PyCapsule_Destructor) PyCapsule_GetDestructor(PyObject *capsule); | |
| 36 | |
| 37 PyAPI_FUNC(const char *) PyCapsule_GetName(PyObject *capsule); | |
| 38 | |
| 39 PyAPI_FUNC(void *) PyCapsule_GetContext(PyObject *capsule); | |
| 40 | |
| 41 PyAPI_FUNC(int) PyCapsule_IsValid(PyObject *capsule, const char *name); | |
| 42 | |
| 43 PyAPI_FUNC(int) PyCapsule_SetPointer(PyObject *capsule, void *pointer); | |
| 44 | |
| 45 PyAPI_FUNC(int) PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor); | |
| 46 | |
| 47 PyAPI_FUNC(int) PyCapsule_SetName(PyObject *capsule, const char *name); | |
| 48 | |
| 49 PyAPI_FUNC(int) PyCapsule_SetContext(PyObject *capsule, void *context); | |
| 50 | |
| 51 PyAPI_FUNC(void *) PyCapsule_Import(const char *name, int no_block); | |
| 52 | |
| 53 #ifdef __cplusplus | |
| 54 } | |
| 55 #endif | |
| 56 #endif /* !Py_CAPSULE_H */ |
