Lines Matching refs:capsule
24 The type of a destructor callback for a capsule. Defined as::
45 non-*NULL*, this string must outlive the capsule. (Though it is permitted to
49 capsule as its argument when it is destroyed.
51 If this capsule will be stored as an attribute of a module, the *name* should
53 to import the capsule using :c:func:`PyCapsule_Import`.
56 .. c:function:: void* PyCapsule_GetPointer(PyObject *capsule, const char *name)
58 Retrieve the *pointer* stored in the capsule. On failure, set an exception
61 The *name* parameter must compare exactly to the name stored in the capsule.
62 If the name stored in the capsule is *NULL*, the *name* passed in must also
63 be *NULL*. Python uses the C function :c:func:`strcmp` to compare capsule
67 .. c:function:: PyCapsule_Destructor PyCapsule_GetDestructor(PyObject *capsule)
69 Return the current destructor stored in the capsule. On failure, set an
72 It is legal for a capsule to have a *NULL* destructor. This makes a *NULL*
77 .. c:function:: void* PyCapsule_GetContext(PyObject *capsule)
79 Return the current context stored in the capsule. On failure, set an
82 It is legal for a capsule to have a *NULL* context. This makes a *NULL*
87 .. c:function:: const char* PyCapsule_GetName(PyObject *capsule)
89 Return the current name stored in the capsule. On failure, set an exception
92 It is legal for a capsule to have a *NULL* name. This makes a *NULL* return
99 Import a pointer to a C object from a capsule attribute in a module. The
101 ``module.attribute``. The *name* stored in the capsule must match this
106 Return the capsule's internal *pointer* on success. On failure, set an
110 .. c:function:: int PyCapsule_IsValid(PyObject *capsule, const char *name)
112 Determines whether or not *capsule* is a valid capsule. A valid capsule is
115 :c:func:`PyCapsule_GetPointer` for information on how capsule names are
125 .. c:function:: int PyCapsule_SetContext(PyObject *capsule, void *context)
127 Set the context pointer inside *capsule* to *context*.
131 .. c:function:: int PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor)
133 Set the destructor inside *capsule* to *destructor*.
137 .. c:function:: int PyCapsule_SetName(PyObject *capsule, const char *name)
139 Set the name inside *capsule* to *name*. If non-*NULL*, the name must
140 outlive the capsule. If the previous *name* stored in the capsule was not
145 .. c:function:: int PyCapsule_SetPointer(PyObject *capsule, void *pointer)
147 Set the void pointer inside *capsule* to *pointer*. The pointer may not be