diff options
| author | Julian Andres Klode <jak@debian.org> | 2009-04-14 20:27:49 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2009-04-14 20:27:49 +0200 |
| commit | 444b2afea3b58cc55fbf4b9deb6d20c4475c8fef (patch) | |
| tree | 4ab1619d4069ed10ec645c8dbb627132d56d63ff /python/pkgmanager.cc | |
| parent | 87df0bb1e114d2bf0972b899ac6cfd25dd032dab (diff) | |
| download | python-apt-444b2afea3b58cc55fbf4b9deb6d20c4475c8fef.tar.gz | |
* python/pkgmanager.cc: Use tp_methods and tp_getset for PkgManagerType
Diffstat (limited to 'python/pkgmanager.cc')
| -rw-r--r-- | python/pkgmanager.cc | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/python/pkgmanager.cc b/python/pkgmanager.cc index 0eaa28cd..52f86228 100644 --- a/python/pkgmanager.cc +++ b/python/pkgmanager.cc @@ -75,41 +75,57 @@ static PyMethodDef PkgManagerMethods[] = }; -static PyObject *PkgManagerAttr(PyObject *Self,char *Name) -{ - //PkgManagerStruct &Struct = GetCpp<PkgManagerStruct>(Self); - pkgPackageManager *pm = GetCpp<pkgPackageManager*>(Self); - - // some constants - if(strcmp("ResultCompleted",Name) == 0) - return Py_BuildValue("i", pkgPackageManager::Completed); - if(strcmp("ResultFailed",Name) == 0) - return Py_BuildValue("i", pkgPackageManager::Failed); - if(strcmp("ResultIncomplete",Name) == 0) - return Py_BuildValue("i", pkgPackageManager::Incomplete); - - return Py_FindMethod(PkgManagerMethods,Self,Name); +static PyObject *PkgManagerGetResultCompleted(PyObject *Self,void*) { + return Py_BuildValue("i", pkgPackageManager::Completed); +} +static PyObject *PkgManagerGetResultFailed(PyObject *Self,void*) { + return Py_BuildValue("i", pkgPackageManager::Failed); +} +static PyObject *PkgManagerGetResultIncomplete(PyObject *Self,void*) { + return Py_BuildValue("i", pkgPackageManager::Incomplete); } +static PyGetSetDef PkgManagerGetSet[] = { + {"ResultCompleted",PkgManagerGetResultCompleted}, + {"ResultFailed",PkgManagerGetResultFailed}, + {"ResultIncomplete",PkgManagerGetResultIncomplete}, + {} +}; PyTypeObject PkgManagerType = { PyObject_HEAD_INIT(&PyType_Type) - 0, // ob_size + 0, // ob_size "PackageManager", // tp_name sizeof(CppPyObject<pkgPackageManager*>), // tp_basicsize 0, // tp_itemsize // Methods - CppDealloc<pkgPackageManager*>, // tp_dealloc + CppDealloc<pkgPackageManager*>, // tp_dealloc 0, // tp_print - PkgManagerAttr, // tp_getattr + 0, // tp_getattr 0, // tp_setattr 0, // tp_compare 0, // tp_repr 0, // tp_as_number 0, // tp_as_sequence - 0, // tp_as_mapping + 0, // tp_as_mapping 0, // tp_hash + 0, // tp_call + 0, // tp_str + 0, // tp_getattro + 0, // tp_setattro + 0, // tp_as_buffer + Py_TPFLAGS_DEFAULT, // tp_flags + "PackageManager Object", // tp_doc + 0, // tp_traverse + 0, // tp_clear + 0, // tp_richcompare + 0, // tp_weaklistoffset + 0, // tp_iter + 0, // tp_iternext + PkgManagerMethods, // tp_methods + 0, // tp_members + PkgManagerGetSet, // tp_getset }; #include <apt-pkg/init.h> |
