summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2009-04-13 23:24:42 +0200
committerJulian Andres Klode <jak@debian.org>2009-04-13 23:24:42 +0200
commitdaaa814658b6d2b8e3e2437fcc625096c46395dd (patch)
tree0d8cdb5018706bb2dcb11757a461a55eb5b6e931
parentae7f143f8162d10c7bd834e8877e42674fdb646f (diff)
downloadpython-apt-daaa814658b6d2b8e3e2437fcc625096c46395dd.tar.gz
* python/cdrom.cc, python/depcache.cc: Use tp_methods for Cdrom, ProblemResolver, ActionGroup
-rw-r--r--python/apt_pkgmodule.cc4
-rw-r--r--python/apt_pkgmodule.h1
-rw-r--r--python/cdrom.cc32
-rw-r--r--python/depcache.cc50
4 files changed, 53 insertions, 34 deletions
diff --git a/python/apt_pkgmodule.cc b/python/apt_pkgmodule.cc
index 3d043179..5d0b2c0a 100644
--- a/python/apt_pkgmodule.cc
+++ b/python/apt_pkgmodule.cc
@@ -478,6 +478,10 @@ extern "C" void initapt_pkg()
if (PyType_Ready(&ConfigurationType) == -1) return;
if (PyType_Ready(&ConfigurationPtrType) == -1) return;
if (PyType_Ready(&ConfigurationSubType) == -1) return;
+ if (PyType_Ready(&PkgCdromType) == -1) return;
+ if (PyType_Ready(&PkgProblemResolverType) == -1) return;
+ if (PyType_Ready(&PkgActionGroupType) == -1) return;
+
// Initialize the module
PyObject *Module = Py_InitModule("apt_pkg",methods);
diff --git a/python/apt_pkgmodule.h b/python/apt_pkgmodule.h
index e047bcd8..ea8e33df 100644
--- a/python/apt_pkgmodule.h
+++ b/python/apt_pkgmodule.h
@@ -71,6 +71,7 @@ extern PyTypeObject PkgProblemResolverType;
PyObject *GetPkgProblemResolver(PyObject *Self, PyObject *Args);
PyObject *GetPkgActionGroup(PyObject *Self, PyObject *Args);
+extern PyTypeObject PkgActionGroupType;
// cdrom
extern PyTypeObject PkgCdromType;
PyObject *GetCdrom(PyObject *Self,PyObject *Args);
diff --git a/python/cdrom.cc b/python/cdrom.cc
index 0831548e..1278d6b7 100644
--- a/python/cdrom.cc
+++ b/python/cdrom.cc
@@ -64,27 +64,17 @@ static PyMethodDef PkgCdromMethods[] =
};
-static PyObject *CdromAttr(PyObject *Self,char *Name)
-{
- PkgCdromStruct &Struct = GetCpp<PkgCdromStruct>(Self);
-
- return Py_FindMethod(PkgCdromMethods,Self,Name);
-}
-
-
-
-
PyTypeObject PkgCdromType =
{
PyObject_HEAD_INIT(&PyType_Type)
- 0, // ob_size
- "Cdrom", // tp_name
+ 0, // ob_size
+ "Cdrom", // tp_name
sizeof(CppOwnedPyObject<PkgCdromStruct>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<PkgCdromStruct>, // tp_dealloc
+ CppOwnedDealloc<PkgCdromStruct>, // tp_dealloc
0, // tp_print
- CdromAttr, // tp_getattr
+ 0, // tp_getattr
0, // tp_setattr
0, // tp_compare
0, // tp_repr
@@ -92,6 +82,20 @@ PyTypeObject PkgCdromType =
0, // tp_as_sequence
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
+ "Cdrom Object", // tp_doc
+ 0, // tp_traverse
+ 0, // tp_clear
+ 0, // tp_richcompare
+ 0, // tp_weaklistoffset
+ 0, // tp_iter
+ 0, // tp_iternext
+ PkgCdromMethods, // tp_methods
};
PyObject *GetCdrom(PyObject *Self,PyObject *Args)
diff --git a/python/depcache.cc b/python/depcache.cc
index 0e83c956..b23eecd9 100644
--- a/python/depcache.cc
+++ b/python/depcache.cc
@@ -749,15 +749,6 @@ static PyMethodDef PkgProblemResolverMethods[] =
{}
};
-
-static PyObject *ProblemResolverAttr(PyObject *Self,char *Name)
-{
- pkgProblemResolver *fixer = GetCpp<pkgProblemResolver *>(Self);
-
- return Py_FindMethod(PkgProblemResolverMethods,Self,Name);
-}
-
-
PyTypeObject PkgProblemResolverType =
{
PyObject_HEAD_INIT(&PyType_Type)
@@ -768,7 +759,7 @@ PyTypeObject PkgProblemResolverType =
// Methods
CppOwnedDealloc<pkgProblemResolver *>, // tp_dealloc
0, // tp_print
- ProblemResolverAttr, // tp_getattr
+ 0, // tp_getattr
0, // tp_setattr
0, // tp_compare
0, // tp_repr
@@ -776,6 +767,20 @@ PyTypeObject PkgProblemResolverType =
0, // tp_as_sequence
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
+ "ProblemResolver Object", // tp_doc
+ 0, // tp_traverse
+ 0, // tp_clear
+ 0, // tp_richcompare
+ 0, // tp_weaklistoffset
+ 0, // tp_iter
+ 0, // tp_iternext
+ PkgProblemResolverMethods, // tp_methods
};
/*}}}*/
@@ -800,15 +805,6 @@ static PyMethodDef PkgActionGroupMethods[] =
{}
};
-
-static PyObject *ActionGroupAttr(PyObject *Self,char *Name)
-{
- pkgDepCache::ActionGroup *ag = GetCpp<pkgDepCache::ActionGroup*>(Self);
-
- return Py_FindMethod(PkgActionGroupMethods,Self,Name);
-}
-
-
PyTypeObject PkgActionGroupType =
{
PyObject_HEAD_INIT(&PyType_Type)
@@ -819,7 +815,7 @@ PyTypeObject PkgActionGroupType =
// Methods
CppOwnedDealloc<pkgDepCache::ActionGroup*>, // tp_dealloc
0, // tp_print
- ActionGroupAttr, // tp_getattr
+ 0, // tp_getattr
0, // tp_setattr
0, // tp_compare
0, // tp_repr
@@ -827,6 +823,20 @@ PyTypeObject PkgActionGroupType =
0, // tp_as_sequence
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
+ "ActionGroup Object", // tp_doc
+ 0, // tp_traverse
+ 0, // tp_clear
+ 0, // tp_richcompare
+ 0, // tp_weaklistoffset
+ 0, // tp_iter
+ 0, // tp_iternext
+ PkgActionGroupMethods, // tp_methods
};
PyObject *GetPkgActionGroup(PyObject *Self,PyObject *Args)