Home | History | Annotate | Download | only in Objects

Lines Matching refs:capsule

17 _is_legal_capsule(PyCapsule *capsule, const char *invalid_capsule)

19 if (!capsule || !PyCapsule_CheckExact(capsule) || capsule->pointer == NULL) {
26 #define is_legal_capsule(capsule, name) \
27 (_is_legal_capsule(capsule, \
46 PyCapsule *capsule;
53 capsule = PyObject_NEW(PyCapsule, &PyCapsule_Type);
54 if (capsule == NULL) {
58 capsule->pointer = pointer;
59 capsule->name = name;
60 capsule->context = NULL;
61 capsule->destructor = destructor;
63 return (PyObject *)capsule;
70 PyCapsule *capsule = (PyCapsule *)o;
72 return (capsule != NULL &&
73 PyCapsule_CheckExact(capsule) &&
74 capsule->pointer != NULL &&
75 name_matches(capsule->name, name));
82 PyCapsule *capsule = (PyCapsule *)o;
84 if (!is_legal_capsule(capsule, "PyCapsule_GetPointer")) {
88 if (!name_matches(name, capsule->name)) {
93 return capsule->pointer;
100 PyCapsule *capsule = (PyCapsule *)o;
102 if (!is_legal_capsule(capsule, "PyCapsule_GetName")) {
105 return capsule->name;
112 PyCapsule *capsule = (PyCapsule *)o;
114 if (!is_legal_capsule(capsule, "PyCapsule_GetDestructor")) {
117 return capsule->destructor;
124 PyCapsule *capsule = (PyCapsule *)o;
126 if (!is_legal_capsule(capsule, "PyCapsule_GetContext")) {
129 return capsule->context;
136 PyCapsule *capsule = (PyCapsule *)o;
143 if (!is_legal_capsule(capsule, "PyCapsule_SetPointer")) {
147 capsule->pointer = pointer;
155 PyCapsule *capsule = (PyCapsule *)o;
157 if (!is_legal_capsule(capsule, "PyCapsule_SetName")) {
161 capsule->name = name;
169 PyCapsule *capsule = (PyCapsule *)o;
171 if (!is_legal_capsule(capsule, "PyCapsule_SetDestructor")) {
175 capsule->destructor = destructor;
183 PyCapsule *capsule = (PyCapsule *)o;
185 if (!is_legal_capsule(capsule, "PyCapsule_SetContext")) {
189 capsule->context = context;
239 PyCapsule *capsule = (PyCapsule *)object;
240 return_value = capsule->pointer;
259 PyCapsule *capsule = (PyCapsule *)o;
260 if (capsule->destructor) {
261 capsule->destructor(o);
270 PyCapsule *capsule = (PyCapsule *)o;
274 if (capsule->name) {
276 name = capsule->name;
282 return PyString_FromFormat("<capsule object %s%s%s at %p>",
283 quote, name, quote, capsule);
289 "Capsule objects let you wrap a C \"void *\" pointer in a Python\n\