CObjects

Aviso

The CObject API is deprecated as of Python 2.7. Please switch to the new Capsules API.

PyCObject

Este subtipo de PyObject representa um valor opaco, útil para módulos de extensão C que precisam passar um valor opaco (como ponteiro void*) através do código Python para outro código C . É frequentemente usado para disponibilizar um ponteiro de função C definido em um módulo para outros módulos, para que o mecanismo de importação regular possa ser usado para acessar APIs C definidas em módulos carregados dinamicamente.

int PyCObject_Check(PyObject *p)

Return true if its argument is a PyCObject.

PyObject* PyCObject_FromVoidPtr(void* cobj, void (*destr)(void *))
Return value: New reference.

Create a PyCObject from the void * cobj. The destr function will be called when the object is reclaimed, unless it is NULL.

PyObject* PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, void (*destr)(void *, void *))
Return value: New reference.

Create a PyCObject from the void * cobj. The destr function will be called when the object is reclaimed. The desc argument can be used to pass extra callback data for the destructor function.

void* PyCObject_AsVoidPtr(PyObject* self)

Return the object void * that the PyCObject self was created with.

void* PyCObject_GetDesc(PyObject* self)

Return the description void * that the PyCObject self was created with.

int PyCObject_SetVoidPtr(PyObject* self, void* cobj)

Set the void pointer inside self to cobj. The PyCObject must not have an associated destructor. Return true on success, false on failure.