]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.10/Objects/cobject.c
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.10 / Objects / cobject.c
diff --git a/AppPkg/Applications/Python/Python-2.7.10/Objects/cobject.c b/AppPkg/Applications/Python/Python-2.7.10/Objects/cobject.c
deleted file mode 100644 (file)
index e287444..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-\r
-/* Wrap void* pointers to be passed between C modules */\r
-\r
-#include "Python.h"\r
-\r
-\r
-/* Declarations for objects of type PyCObject */\r
-\r
-typedef void (*destructor1)(void *);\r
-typedef void (*destructor2)(void *, void*);\r
-\r
-static int cobject_deprecation_warning(void)\r
-{\r
-    return PyErr_WarnPy3k("CObject type is not supported in 3.x. "\r
-        "Please use capsule objects instead.", 1);\r
-}\r
-\r
-\r
-PyObject *\r
-PyCObject_FromVoidPtr(void *cobj, void (*destr)(void *))\r
-{\r
-    PyCObject *self;\r
-\r
-    if (cobject_deprecation_warning()) {\r
-        return NULL;\r
-    }\r
-\r
-    self = PyObject_NEW(PyCObject, &PyCObject_Type);\r
-    if (self == NULL)\r
-        return NULL;\r
-    self->cobject=cobj;\r
-    self->destructor=destr;\r
-    self->desc=NULL;\r
-\r
-    return (PyObject *)self;\r
-}\r
-\r
-PyObject *\r
-PyCObject_FromVoidPtrAndDesc(void *cobj, void *desc,\r
-                             void (*destr)(void *, void *))\r
-{\r
-    PyCObject *self;\r
-\r
-    if (cobject_deprecation_warning()) {\r
-        return NULL;\r
-    }\r
-\r
-    if (!desc) {\r
-        PyErr_SetString(PyExc_TypeError,\r
-                        "PyCObject_FromVoidPtrAndDesc called with null"\r
-                        " description");\r
-        return NULL;\r
-    }\r
-    self = PyObject_NEW(PyCObject, &PyCObject_Type);\r
-    if (self == NULL)\r
-        return NULL;\r
-    self->cobject = cobj;\r
-    self->destructor = (destructor1)destr;\r
-    self->desc = desc;\r
-\r
-    return (PyObject *)self;\r
-}\r
-\r
-void *\r
-PyCObject_AsVoidPtr(PyObject *self)\r
-{\r
-    if (self) {\r
-        if (PyCapsule_CheckExact(self)) {\r
-            const char *name = PyCapsule_GetName(self);\r
-            return (void *)PyCapsule_GetPointer(self, name);\r
-        }\r
-        if (self->ob_type == &PyCObject_Type)\r
-            return ((PyCObject *)self)->cobject;\r
-        PyErr_SetString(PyExc_TypeError,\r
-                        "PyCObject_AsVoidPtr with non-C-object");\r
-    }\r
-    if (!PyErr_Occurred())\r
-        PyErr_SetString(PyExc_TypeError,\r
-                        "PyCObject_AsVoidPtr called with null pointer");\r
-    return NULL;\r
-}\r
-\r
-void *\r
-PyCObject_GetDesc(PyObject *self)\r
-{\r
-    if (self) {\r
-        if (self->ob_type == &PyCObject_Type)\r
-            return ((PyCObject *)self)->desc;\r
-        PyErr_SetString(PyExc_TypeError,\r
-                        "PyCObject_GetDesc with non-C-object");\r
-    }\r
-    if (!PyErr_Occurred())\r
-        PyErr_SetString(PyExc_TypeError,\r
-                        "PyCObject_GetDesc called with null pointer");\r
-    return NULL;\r
-}\r
-\r
-void *\r
-PyCObject_Import(char *module_name, char *name)\r
-{\r
-    PyObject *m, *c;\r
-    void *r = NULL;\r
-\r
-    if ((m = PyImport_ImportModule(module_name))) {\r
-        if ((c = PyObject_GetAttrString(m,name))) {\r
-            r = PyCObject_AsVoidPtr(c);\r
-            Py_DECREF(c);\r
-       }\r
-        Py_DECREF(m);\r
-    }\r
-    return r;\r
-}\r
-\r
-int\r
-PyCObject_SetVoidPtr(PyObject *self, void *cobj)\r
-{\r
-    PyCObject* cself = (PyCObject*)self;\r
-    if (cself == NULL || !PyCObject_Check(cself) ||\r
-       cself->destructor != NULL) {\r
-       PyErr_SetString(PyExc_TypeError, \r
-                       "Invalid call to PyCObject_SetVoidPtr");\r
-       return 0;\r
-    }\r
-    cself->cobject = cobj;\r
-    return 1;\r
-}\r
-\r
-static void\r
-PyCObject_dealloc(PyCObject *self)\r
-{\r
-    if (self->destructor) {\r
-        if(self->desc)\r
-            ((destructor2)(self->destructor))(self->cobject, self->desc);\r
-        else\r
-            (self->destructor)(self->cobject);\r
-    }\r
-    PyObject_DEL(self);\r
-}\r
-\r
-\r
-PyDoc_STRVAR(PyCObject_Type__doc__,\r
-"C objects to be exported from one extension module to another\n\\r
-\n\\r
-C objects are used for communication between extension modules.  They\n\\r
-provide a way for an extension module to export a C interface to other\n\\r
-extension modules, so that extension modules can use the Python import\n\\r
-mechanism to link to one another.");\r
-\r
-PyTypeObject PyCObject_Type = {\r
-    PyVarObject_HEAD_INIT(&PyType_Type, 0)\r
-    "PyCObject",               /*tp_name*/\r
-    sizeof(PyCObject),         /*tp_basicsize*/\r
-    0,                         /*tp_itemsize*/\r
-    /* methods */\r
-    (destructor)PyCObject_dealloc, /*tp_dealloc*/\r
-    0,                         /*tp_print*/\r
-    0,                         /*tp_getattr*/\r
-    0,                         /*tp_setattr*/\r
-    0,                         /*tp_compare*/\r
-    0,                         /*tp_repr*/\r
-    0,                         /*tp_as_number*/\r
-    0,                         /*tp_as_sequence*/\r
-    0,                         /*tp_as_mapping*/\r
-    0,                         /*tp_hash*/\r
-    0,                         /*tp_call*/\r
-    0,                         /*tp_str*/\r
-    0,                         /*tp_getattro*/\r
-    0,                         /*tp_setattro*/\r
-    0,                         /*tp_as_buffer*/\r
-    0,                         /*tp_flags*/\r
-    PyCObject_Type__doc__      /*tp_doc*/\r
-};\r