summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog1
-rw-r--r--python/acquire-item.cc18
-rw-r--r--python/acquire.cc24
-rw-r--r--python/apt_instmodule.h2
-rw-r--r--python/apt_pkgmodule.cc4
-rw-r--r--python/arfile.cc32
-rw-r--r--python/cache.cc114
-rw-r--r--python/cdrom.cc2
-rw-r--r--python/configuration.cc8
-rw-r--r--python/depcache.cc42
-rw-r--r--python/generic.h93
-rw-r--r--python/hashes.cc2
-rw-r--r--python/hashstring.cc2
-rw-r--r--python/indexfile.cc8
-rw-r--r--python/indexrecords.cc2
-rw-r--r--python/metaindex.cc8
-rw-r--r--python/pkgmanager.cc2
-rw-r--r--python/pkgrecords.cc10
-rw-r--r--python/pkgsrcrecords.cc8
-rw-r--r--python/policy.cc14
-rw-r--r--python/python-apt.h61
-rw-r--r--python/sourcelist.cc10
-rw-r--r--python/tag.cc10
-rw-r--r--python/tarfile.cc20
24 files changed, 219 insertions, 278 deletions
diff --git a/debian/changelog b/debian/changelog
index 9b505a58..08bf564b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,7 @@ python-apt (0.7.93.1) UNRELEASED; urgency=low
* Drop the segfault prevention measures from the Acquire code, as they fail
to work. A replacement will be added once destruction callbacks are added
in APT.
+ * Merge the CppOwnedPyObject C++ class into CppPyObject.
-- Julian Andres Klode <jak@debian.org> Sat, 23 Jan 2010 15:35:55 +0100
diff --git a/python/acquire-item.cc b/python/acquire-item.cc
index 059f1802..d5f9ad10 100644
--- a/python/acquire-item.cc
+++ b/python/acquire-item.cc
@@ -159,13 +159,13 @@ static PyObject *acquireitem_repr(PyObject *Self)
static void acquireitem_dealloc(PyObject *self)
{
- CppOwnedDeallocPtr<pkgAcquire::Item*>(self);
+ CppDeallocPtr<pkgAcquire::Item*>(self);
}
PyTypeObject PyAcquireItem_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.AcquireItem", // tp_name
- sizeof(CppOwnedPyObject<pkgAcquire::Item*>), // tp_basicsize
+ sizeof(CppPyObject<pkgAcquire::Item*>), // tp_basicsize
0, // tp_itemsize
// Methods
acquireitem_dealloc, // tp_dealloc
@@ -186,8 +186,8 @@ PyTypeObject PyAcquireItem_Type = {
Py_TPFLAGS_DEFAULT |
Py_TPFLAGS_HAVE_GC, // tp_flags
"AcquireItem Object", // tp_doc
- CppOwnedTraverse<pkgAcquire::Item*>, // tp_traverse
- CppOwnedClear<pkgAcquire::Item*>, // tp_clear
+ CppTraverse<pkgAcquire::Item*>, // tp_traverse
+ CppClear<pkgAcquire::Item*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -222,7 +222,7 @@ static PyObject *acquirefile_new(PyTypeObject *type, PyObject *Args, PyObject *
shortDescr,
destDir,
destFile); // short-desc
- CppOwnedPyObject<pkgAcqFile*> *AcqFileObj = CppOwnedPyObject_NEW<pkgAcqFile*>(pyfetcher, type);
+ CppPyObject<pkgAcqFile*> *AcqFileObj = CppPyObject_NEW<pkgAcqFile*>(pyfetcher, type);
AcqFileObj->Object = af;
return AcqFileObj;
}
@@ -237,7 +237,7 @@ static char *acquirefile_doc =
PyTypeObject PyAcquireFile_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.AcquireFile", // tp_name
- sizeof(CppOwnedPyObject<pkgAcqFile*>),// tp_basicsize
+ sizeof(CppPyObject<pkgAcqFile*>),// tp_basicsize
0, // tp_itemsize
// Methods
acquireitem_dealloc, // tp_dealloc
@@ -259,8 +259,8 @@ PyTypeObject PyAcquireFile_Type = {
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC,
acquirefile_doc, // tp_doc
- CppOwnedTraverse<pkgAcqFile*>, // tp_traverse
- CppOwnedClear<pkgAcqFile*>, // tp_clear
+ CppTraverse<pkgAcqFile*>, // tp_traverse
+ CppClear<pkgAcqFile*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -309,7 +309,7 @@ PyObject *GetPkgAcqFile(PyObject *Self, PyObject *Args, PyObject * kwds)
shortDescr,
destDir,
destFile); // short-desc
- CppPyObject<pkgAcqFile*> *AcqFileObj = CppPyObject_NEW<pkgAcqFile*>(&PyAcquireFile_Type);
+ CppPyObject<pkgAcqFile*> *AcqFileObj = CppPyObject_NEW<pkgAcqFile*>(NULL, &PyAcquireFile_Type);
AcqFileObj->Object = af;
AcqFileObj->NoDelete = true;
diff --git a/python/acquire.cc b/python/acquire.cc
index bcb76d67..cd7f7709 100644
--- a/python/acquire.cc
+++ b/python/acquire.cc
@@ -77,10 +77,10 @@ static PyGetSetDef acquireworker_getset[] = {
PyTypeObject PyAcquireWorker_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.AcquireWorker", // tp_name
- sizeof(CppOwnedPyObject<pkgAcquire::Worker*>),// tp_basicsize
+ sizeof(CppPyObject<pkgAcquire::Worker*>),// tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<pkgAcquire::Worker*>, // tp_dealloc
+ CppDealloc<pkgAcquire::Worker*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -98,8 +98,8 @@ PyTypeObject PyAcquireWorker_Type = {
Py_TPFLAGS_DEFAULT| // tp_flags
Py_TPFLAGS_HAVE_GC,
0, // tp_doc
- CppOwnedTraverse<pkgAcquire::Worker*>, // tp_traverse
- CppOwnedClear<pkgAcquire::Worker*>, // tp_clear
+ CppTraverse<pkgAcquire::Worker*>, // tp_traverse
+ CppClear<pkgAcquire::Worker*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -132,7 +132,7 @@ static PyObject *acquireitemdesc_get_shortdesc(PyObject *self, void *closure)
pkgAcquire::ItemDesc *item = acquireitemdesc_tocpp(self);
return item ? CppPyString(item->ShortDesc) : NULL;
}
-static PyObject *acquireitemdesc_get_owner(CppOwnedPyObject<pkgAcquire::ItemDesc*> *self, void *closure)
+static PyObject *acquireitemdesc_get_owner(CppPyObject<pkgAcquire::ItemDesc*> *self, void *closure)
{
if (self->Owner != NULL) {
Py_INCREF(self->Owner);
@@ -160,10 +160,10 @@ static char *acquireitemdesc_doc =
PyTypeObject PyAcquireItemDesc_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.AcquireItemDesc", // tp_name
- sizeof(CppOwnedPyObject<pkgAcquire::ItemDesc*>),// tp_basicsize
+ sizeof(CppPyObject<pkgAcquire::ItemDesc*>),// tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<pkgAcquire::ItemDesc*>, // tp_dealloc
+ CppDealloc<pkgAcquire::ItemDesc*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -181,8 +181,8 @@ PyTypeObject PyAcquireItemDesc_Type = {
(Py_TPFLAGS_DEFAULT | // tp_flags
Py_TPFLAGS_HAVE_GC),
acquireitemdesc_doc, // tp_doc
- CppOwnedTraverse<pkgAcquire::ItemDesc*>,// tp_traverse
- CppOwnedClear<pkgAcquire::ItemDesc*>, // tp_clear
+ CppTraverse<pkgAcquire::ItemDesc*>,// tp_traverse
+ CppClear<pkgAcquire::ItemDesc*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -255,7 +255,7 @@ static PyObject *PkgAcquireGetWorkers(PyObject *self, void *closure)
{
PyObject *List = PyList_New(0);
pkgAcquire *Owner = GetCpp<pkgAcquire*>(self);
- CppOwnedPyObject<pkgAcquire::Worker*> *PyWorker = NULL;
+ CppPyObject<pkgAcquire::Worker*> *PyWorker = NULL;
for (pkgAcquire::Worker *Worker = Owner->WorkersBegin();
Worker != 0; Worker = Owner->WorkerStep(Worker)) {
PyWorker = PyAcquireWorker_FromCpp(Worker, false, self);
@@ -313,7 +313,7 @@ static PyObject *PkgAcquireNew(PyTypeObject *type,PyObject *Args,PyObject *kwds)
fetcher = new pkgAcquire();
}
- PyObject *FetcherObj = CppPyObject_NEW<pkgAcquire*>(type, fetcher);
+ PyObject *FetcherObj = CppPyObject_NEW<pkgAcquire*>(NULL, type, fetcher);
if (progress != 0)
progress->setPyAcquire(FetcherObj);
@@ -325,7 +325,7 @@ static PyObject *PkgAcquireNew(PyTypeObject *type,PyObject *Args,PyObject *kwds)
* Create a new apt_pkg.Acquire Python object from the pkgAcquire object.
*/
PyObject *PyAcquire_FromCpp(pkgAcquire *fetcher, bool Delete) {
- CppPyObject<pkgAcquire*> *obj = CppPyObject_NEW<pkgAcquire*>(&PyAcquire_Type, fetcher);
+ CppPyObject<pkgAcquire*> *obj = CppPyObject_NEW<pkgAcquire*>(NULL, &PyAcquire_Type, fetcher);
obj->NoDelete = (!Delete);
return obj;
}
diff --git a/python/apt_instmodule.h b/python/apt_instmodule.h
index 2b07261b..f6b337f4 100644
--- a/python/apt_instmodule.h
+++ b/python/apt_instmodule.h
@@ -27,7 +27,7 @@ extern PyTypeObject PyDebFile_Type;
extern PyTypeObject PyTarFile_Type;
extern PyTypeObject PyTarMember_Type;
-struct PyTarFileObject : public CppOwnedPyObject<ExtractTar*> {
+struct PyTarFileObject : public CppPyObject<ExtractTar*> {
int min;
FileFd Fd;
};
diff --git a/python/apt_pkgmodule.cc b/python/apt_pkgmodule.cc
index 64db74d2..e77fd3ca 100644
--- a/python/apt_pkgmodule.cc
+++ b/python/apt_pkgmodule.cc
@@ -56,7 +56,7 @@ static PyObject *newConfiguration(PyObject *self,PyObject *args)
{
PyErr_WarnEx(PyExc_DeprecationWarning, "apt_pkg.newConfiguration() is "
"deprecated. Use apt_pkg.Configuration() instead.", 1);
- return CppOwnedPyObject_NEW<Configuration*>(NULL, &PyConfiguration_Type, new Configuration());
+ return CppPyObject_NEW<Configuration*>(NULL, &PyConfiguration_Type, new Configuration());
}
#endif
/*}}}*/
@@ -599,7 +599,7 @@ extern "C" void initapt_pkg()
#endif
// Global variable linked to the global configuration class
- CppOwnedPyObject<Configuration*> *Config = CppOwnedPyObject_NEW<Configuration*>(NULL, &PyConfiguration_Type);
+ CppPyObject<Configuration*> *Config = CppPyObject_NEW<Configuration*>(NULL, &PyConfiguration_Type);
Config->Object = _config;
// Global configuration, should never be deleted.
Config->NoDelete = true;
diff --git a/python/arfile.cc b/python/arfile.cc
index 1abb738f..4f95a791 100644
--- a/python/arfile.cc
+++ b/python/arfile.cc
@@ -93,10 +93,10 @@ static const char *armember_doc =
PyTypeObject PyArMember_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_inst.ArMember", // tp_name
- sizeof(CppOwnedPyObject<ARArchive::Member*>), // tp_basicsize
+ sizeof(CppPyObject<ARArchive::Member*>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<ARArchive::Member*>, // tp_dealloc
+ CppDeallocPtr<ARArchive::Member*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -114,8 +114,8 @@ PyTypeObject PyArMember_Type = {
Py_TPFLAGS_DEFAULT | // tp_flags
Py_TPFLAGS_HAVE_GC,
armember_doc, // tp_doc
- CppOwnedTraverse<ARArchive::Member*>,// tp_traverse
- CppOwnedClear<ARArchive::Member*>, // tp_clear
+ CppTraverse<ARArchive::Member*>,// tp_traverse
+ CppClear<ARArchive::Member*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -135,7 +135,7 @@ public:
}
};
-struct PyArArchiveObject : public CppOwnedPyObject<PyARArchiveHack*> {
+struct PyArArchiveObject : public CppPyObject<PyARArchiveHack*> {
FileFd Fd;
};
@@ -146,7 +146,7 @@ static const char *ararchive_getmember_doc =
static PyObject *ararchive_getmember(PyArArchiveObject *self, PyObject *arg)
{
const char *name;
- CppOwnedPyObject<ARArchive::Member*> *ret;
+ CppPyObject<ARArchive::Member*> *ret;
if (! (name = PyObject_AsString(arg)))
return 0;
@@ -157,7 +157,7 @@ static PyObject *ararchive_getmember(PyArArchiveObject *self, PyObject *arg)
}
// Create our object.
- ret = CppOwnedPyObject_NEW<ARArchive::Member*>(self,&PyArMember_Type);
+ ret = CppPyObject_NEW<ARArchive::Member*>(self,&PyArMember_Type);
ret->Object = const_cast<ARArchive::Member*>(member);
ret->NoDelete = true;
return ret;
@@ -302,7 +302,7 @@ static PyObject *ararchive_gettar(PyArArchiveObject *self, PyObject *args)
return 0;
}
- PyTarFileObject *tarfile = (PyTarFileObject*)CppOwnedPyObject_NEW<ExtractTar*>(self,&PyTarFile_Type);
+ PyTarFileObject *tarfile = (PyTarFileObject*)CppPyObject_NEW<ExtractTar*>(self,&PyTarFile_Type);
new (&tarfile->Fd) FileFd(self->Fd);
tarfile->min = member->Start;
tarfile->Object = new ExtractTar(self->Fd, member->Size, comp);
@@ -317,8 +317,8 @@ static PyObject *ararchive_getmembers(PyArArchiveObject *self)
PyObject *list = PyList_New(0);
ARArchive::Member *member = self->Object->Members();
do {
- CppOwnedPyObject<ARArchive::Member*> *ret;
- ret = CppOwnedPyObject_NEW<ARArchive::Member*>(self,&PyArMember_Type);
+ CppPyObject<ARArchive::Member*> *ret;
+ ret = CppPyObject_NEW<ARArchive::Member*>(self,&PyArMember_Type);
ret->Object = member;
ret->NoDelete = true;
PyList_Append(list, ret);
@@ -380,14 +380,14 @@ static PyObject *ararchive_new(PyTypeObject *type, PyObject *args,
// We receive a filename.
if ((filename = (char*)PyObject_AsString(file))) {
- self = (PyArArchiveObject *)CppOwnedPyObject_NEW<ARArchive*>(0,type);
+ self = (PyArArchiveObject *)CppPyObject_NEW<ARArchive*>(0,type);
new (&self->Fd) FileFd(filename,FileFd::ReadOnly);
}
// We receive a file object.
else if ((fileno = PyObject_AsFileDescriptor(file)) != -1) {
// Clear the error set by PyObject_AsString().
PyErr_Clear();
- self = (PyArArchiveObject *)CppOwnedPyObject_NEW<ARArchive*>(file,type);
+ self = (PyArArchiveObject *)CppPyObject_NEW<ARArchive*>(file,type);
new (&self->Fd) FileFd(fileno,false);
}
else {
@@ -402,7 +402,7 @@ static PyObject *ararchive_new(PyTypeObject *type, PyObject *args,
static void ararchive_dealloc(PyObject *self)
{
((PyArArchiveObject *)(self))->Fd.~FileFd();
- CppOwnedDeallocPtr<ARArchive*>(self);
+ CppDeallocPtr<ARArchive*>(self);
}
// Return bool or -1 (exception).
@@ -455,8 +455,8 @@ PyTypeObject PyArArchive_Type = {
Py_TPFLAGS_DEFAULT | // tp_flags
Py_TPFLAGS_HAVE_GC,
ararchive_doc, // tp_doc
- CppOwnedTraverse<ARArchive*>, // tp_traverse
- CppOwnedClear<ARArchive*>, // tp_clear
+ CppTraverse<ARArchive*>, // tp_traverse
+ CppClear<ARArchive*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
(getiterfunc)ararchive_iter, // tp_iter
@@ -511,7 +511,7 @@ static PyObject *_gettar(PyDebFileObject *self, const ARArchive::Member *m,
{
if (!m)
return 0;
- PyTarFileObject *tarfile = (PyTarFileObject*)CppOwnedPyObject_NEW<ExtractTar*>(self,&PyTarFile_Type);
+ PyTarFileObject *tarfile = (PyTarFileObject*)CppPyObject_NEW<ExtractTar*>(self,&PyTarFile_Type);
new (&tarfile->Fd) FileFd(self->Fd);
tarfile->min = m->Start;
tarfile->Object = new ExtractTar(self->Fd, m->Size, comp);
diff --git a/python/cache.cc b/python/cache.cc
index 6bbf0766..fe6e8b68 100644
--- a/python/cache.cc
+++ b/python/cache.cc
@@ -73,7 +73,7 @@ static PyObject *CreateProvides(PyObject *Owner,pkgCache::PrvIterator I)
{
PyObject *Obj;
PyObject *Ver;
- Ver = CppOwnedPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
+ Ver = CppPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
I.OwnerVer());
Obj = Py_BuildValue("ssN",I.ParentPkg().Name(),I.ProvideVersion(),
Ver);
@@ -162,7 +162,7 @@ static PyMethodDef PkgCacheMethods[] =
static PyObject *PkgCacheGetPackages(PyObject *Self, void*) {
pkgCache *Cache = GetCpp<pkgCache *>(Self);
- return CppOwnedPyObject_NEW<PkgListStruct>(Self,&PyPackageList_Type,Cache->PkgBegin());
+ return CppPyObject_NEW<PkgListStruct>(Self,&PyPackageList_Type,Cache->PkgBegin());
}
static PyObject *PkgCacheGetPackageCount(PyObject *Self, void*) {
@@ -200,7 +200,7 @@ static PyObject *PkgCacheGetFileList(PyObject *Self, void*) {
for (pkgCache::PkgFileIterator I = Cache->FileBegin(); I.end() == false; I++)
{
PyObject *Obj;
- Obj = CppOwnedPyObject_NEW<pkgCache::PkgFileIterator>(Self,&PyPackageFile_Type,I);
+ Obj = CppPyObject_NEW<pkgCache::PkgFileIterator>(Self,&PyPackageFile_Type,I);
PyList_Append(List,Obj);
Py_DECREF(Obj);
}
@@ -250,7 +250,7 @@ static PyObject *CacheMapOp(PyObject *Self,PyObject *Arg)
return 0;
}
- return CppOwnedPyObject_NEW<pkgCache::PkgIterator>(Self,&PyPackage_Type,Pkg);
+ return CppPyObject_NEW<pkgCache::PkgIterator>(Self,&PyPackage_Type,Pkg);
}
static PyObject *PkgCacheNew(PyTypeObject *type,PyObject *Args,PyObject *kwds)
@@ -292,11 +292,11 @@ static PyObject *PkgCacheNew(PyTypeObject *type,PyObject *Args,PyObject *kwds)
return HandleErrors();
}
- CppOwnedPyObject<pkgCacheFile*> *CacheFileObj =
- CppOwnedPyObject_NEW<pkgCacheFile*>(0,&PyCacheFile_Type, Cache);
+ CppPyObject<pkgCacheFile*> *CacheFileObj =
+ CppPyObject_NEW<pkgCacheFile*>(0,&PyCacheFile_Type, Cache);
- CppOwnedPyObject<pkgCache *> *CacheObj =
- CppOwnedPyObject_NEW<pkgCache *>(CacheFileObj,type,
+ CppPyObject<pkgCache *> *CacheObj =
+ CppPyObject_NEW<pkgCache *>(CacheFileObj,type,
(pkgCache *)(*Cache));
// Do not delete the pointer to the pkgCache, it is managed by pkgCacheFile.
@@ -317,10 +317,10 @@ PyTypeObject PyCache_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Cache", // tp_name
- sizeof(CppOwnedPyObject<pkgCache *>), // tp_basicsize
+ sizeof(CppPyObject<pkgCache *>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<pkgCache *>, // tp_dealloc
+ CppDeallocPtr<pkgCache *>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -339,8 +339,8 @@ PyTypeObject PyCache_Type =
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
doc_PkgCache, // tp_doc
- CppOwnedTraverse<pkgCache *>, // tp_traverse
- CppOwnedClear<pkgCache *>, // tp_clear
+ CppTraverse<pkgCache *>, // tp_traverse
+ CppClear<pkgCache *>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -364,10 +364,10 @@ PyTypeObject PyCacheFile_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"pkgCacheFile", // tp_name
- sizeof(CppOwnedPyObject<pkgCacheFile*>), // tp_basicsize
+ sizeof(CppPyObject<pkgCacheFile*>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<pkgCacheFile*>, // tp_dealloc
+ CppDeallocPtr<pkgCacheFile*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -418,7 +418,7 @@ static PyObject *PkgListItem(PyObject *iSelf,Py_ssize_t Index)
}
}
- return CppOwnedPyObject_NEW<pkgCache::PkgIterator>(GetOwner<PkgListStruct>(iSelf),&PyPackage_Type,
+ return CppPyObject_NEW<pkgCache::PkgIterator>(GetOwner<PkgListStruct>(iSelf),&PyPackage_Type,
Self.Iter);
}
@@ -437,10 +437,10 @@ PyTypeObject PyPackageList_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.PackageList", // tp_name
- sizeof(CppOwnedPyObject<PkgListStruct>), // tp_basicsize
+ sizeof(CppPyObject<PkgListStruct>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<PkgListStruct>, // tp_dealloc
+ CppDealloc<PkgListStruct>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -457,8 +457,8 @@ PyTypeObject PyPackageList_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
0, // tp_doc
- CppOwnedTraverse<PkgListStruct>, // tp_traverse
- CppOwnedClear<PkgListStruct>, // tp_clear
+ CppTraverse<PkgListStruct>, // tp_traverse
+ CppClear<PkgListStruct>, // tp_clear
};
#define Owner (GetOwner<pkgCache::PkgIterator>(Self))
@@ -470,7 +470,7 @@ PyTypeObject PyPackageList_Type =
MkGet(PackageGetName,PyString_FromString(Pkg.Name()))
MkGet(PackageGetSection,Safe_FromString(Pkg.Section()))
-MkGet(PackageGetRevDependsList,CppOwnedPyObject_NEW<RDepListStruct>(Owner,
+MkGet(PackageGetRevDependsList,CppPyObject_NEW<RDepListStruct>(Owner,
&PyDependencyList_Type, Pkg.RevDependsList()))
MkGet(PackageGetProvidesList,CreateProvides(Owner,Pkg.ProvidesList()))
MkGet(PackageGetSelectedState,Py_BuildValue("i",Pkg->SelectedState))
@@ -493,7 +493,7 @@ static PyObject *PackageGetVersionList(PyObject *Self,void*)
for (pkgCache::VerIterator I = Pkg.VersionList(); I.end() == false; I++)
{
PyObject *Obj;
- Obj = CppOwnedPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,I);
+ Obj = CppPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,I);
PyList_Append(List,Obj);
Py_DECREF(Obj);
}
@@ -508,7 +508,7 @@ static PyObject *PackageGetCurrentVer(PyObject *Self,void*)
Py_INCREF(Py_None);
return Py_None;
}
- return CppOwnedPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
+ return CppPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
Pkg.CurrentVer());
}
@@ -558,10 +558,10 @@ PyTypeObject PyPackage_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Package", // tp_name
- sizeof(CppOwnedPyObject<pkgCache::PkgIterator>), // tp_basicsize
+ sizeof(CppPyObject<pkgCache::PkgIterator>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<pkgCache::PkgIterator>, // tp_dealloc
+ CppDealloc<pkgCache::PkgIterator>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -578,8 +578,8 @@ PyTypeObject PyPackage_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"Package Object", // tp_doc
- CppOwnedTraverse<pkgCache::PkgIterator>, // tp_traverse
- CppOwnedClear<pkgCache::PkgIterator>,// tp_clear
+ CppTraverse<pkgCache::PkgIterator>, // tp_traverse
+ CppClear<pkgCache::PkgIterator>,// tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -612,7 +612,7 @@ static PyObject *DescriptionGetFileList(PyObject *Self,void*)
{
PyObject *DescFile;
PyObject *Obj;
- DescFile = CppOwnedPyObject_NEW<pkgCache::PkgFileIterator>(Owner,&PyPackageFile_Type,I.File());
+ DescFile = CppPyObject_NEW<pkgCache::PkgFileIterator>(Owner,&PyPackageFile_Type,I.File());
Obj = Py_BuildValue("Nl",DescFile,I.Index());
PyList_Append(List,Obj);
Py_DECREF(Obj);
@@ -643,10 +643,10 @@ PyTypeObject PyDescription_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Description", // tp_name
- sizeof(CppOwnedPyObject<pkgCache::DescIterator>), // tp_basicsize
+ sizeof(CppPyObject<pkgCache::DescIterator>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<pkgCache::DescIterator>, // tp_dealloc
+ CppDealloc<pkgCache::DescIterator>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -663,8 +663,8 @@ PyTypeObject PyDescription_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"apt_pkg.Description Object", // tp_doc
- CppOwnedTraverse<pkgCache::DescIterator>, // tp_traverse
- CppOwnedClear<pkgCache::DescIterator>,// tp_clear
+ CppTraverse<pkgCache::DescIterator>, // tp_traverse
+ CppClear<pkgCache::DescIterator>,// tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -711,7 +711,7 @@ static PyObject *MakeDepends(PyObject *Owner,pkgCache::VerIterator &Ver,
{
PyObject *Obj;
if (AsObj == true)
- Obj = CppOwnedPyObject_NEW<pkgCache::DepIterator>(Owner,&PyDependency_Type,
+ Obj = CppPyObject_NEW<pkgCache::DepIterator>(Owner,&PyDependency_Type,
Start);
else
{
@@ -763,7 +763,7 @@ static PyObject *VersionGetFileList(PyObject *Self, void*) {
{
PyObject *PkgFile;
PyObject *Obj;
- PkgFile = CppOwnedPyObject_NEW<pkgCache::PkgFileIterator>(Owner,&PyPackageFile_Type,I.File());
+ PkgFile = CppPyObject_NEW<pkgCache::PkgFileIterator>(Owner,&PyPackageFile_Type,I.File());
Obj = Py_BuildValue("Nl",PkgFile,I.Index());
PyList_Append(List,Obj);
Py_DECREF(Obj);
@@ -783,7 +783,7 @@ static PyObject *VersionGetDependsList(PyObject *Self, void*) {
}
static PyObject *VersionGetParentPkg(PyObject *Self, void*) {
PyObject *Owner = GetOwner<pkgCache::VerIterator>(Self);
- return CppOwnedPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,
+ return CppPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,
Version_GetVer(Self).ParentPkg());
}
static PyObject *VersionGetProvidesList(PyObject *Self, void*) {
@@ -814,7 +814,7 @@ static PyObject *VersionGetDownloadable(PyObject *Self, void*) {
static PyObject *VersionGetTranslatedDescription(PyObject *Self, void*) {
pkgCache::VerIterator &Ver = GetCpp<pkgCache::VerIterator>(Self);
PyObject *Owner = GetOwner<pkgCache::VerIterator>(Self);
- return CppOwnedPyObject_NEW<pkgCache::DescIterator>(Owner,
+ return CppPyObject_NEW<pkgCache::DescIterator>(Owner,
&PyDescription_Type,
Ver.TranslatedDescription());
}
@@ -894,10 +894,10 @@ PyTypeObject PyVersion_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Version", // tp_name
- sizeof(CppOwnedPyObject<pkgCache::VerIterator>), // tp_basicsize
+ sizeof(CppPyObject<pkgCache::VerIterator>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<pkgCache::VerIterator>, // tp_dealloc
+ CppDealloc<pkgCache::VerIterator>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -914,8 +914,8 @@ PyTypeObject PyVersion_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"Version Object", // tp_doc
- CppOwnedTraverse<pkgCache::VerIterator>, // tp_traverse
- CppOwnedClear<pkgCache::VerIterator>,// tp_clear
+ CppTraverse<pkgCache::VerIterator>, // tp_traverse
+ CppClear<pkgCache::VerIterator>,// tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -1057,9 +1057,9 @@ static PyGetSetDef PackageFileGetSet[] = {
PyTypeObject PyPackageFile_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.PackageFile", // tp_name
- sizeof(CppOwnedPyObject<pkgCache::PkgFileIterator>), // tp_basicsize
+ sizeof(CppPyObject<pkgCache::PkgFileIterator>), // tp_basicsize
0, // tp_itemsize
- CppOwnedDealloc<pkgCache::PkgFileIterator>, // tp_dealloc
+ CppDealloc<pkgCache::PkgFileIterator>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -1076,8 +1076,8 @@ PyTypeObject PyPackageFile_Type = {
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"apt_pkg.PackageFile Object", // tp_doc
- CppOwnedTraverse<pkgCache::PkgFileIterator>, // tp_traverse
- CppOwnedClear<pkgCache::PkgFileIterator>, // tp_clear
+ CppTraverse<pkgCache::PkgFileIterator>, // tp_traverse
+ CppClear<pkgCache::PkgFileIterator>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -1113,7 +1113,7 @@ static PyObject *DepSmartTargetPkg(PyObject *Self,PyObject *Args)
return Py_None;
}
- return CppOwnedPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,P);
+ return CppPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,P);
}
static PyObject *DepAllTargets(PyObject *Self,PyObject *Args)
@@ -1129,7 +1129,7 @@ static PyObject *DepAllTargets(PyObject *Self,PyObject *Args)
for (pkgCache::Version **I = Vers; *I != 0; I++)
{
PyObject *Obj;
- Obj = CppOwnedPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
+ Obj = CppPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
pkgCache::VerIterator(*Dep.Cache(),*I));
PyList_Append(List,Obj);
Py_DECREF(Obj);
@@ -1163,7 +1163,7 @@ static PyObject *DependencyGetTargetPkg(PyObject *Self,void*)
{
pkgCache::DepIterator &Dep = GetCpp<pkgCache::DepIterator>(Self);
PyObject *Owner = GetOwner<pkgCache::DepIterator>(Self);
- return CppOwnedPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,
+ return CppPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,
Dep.TargetPkg());
}
@@ -1171,7 +1171,7 @@ static PyObject *DependencyGetParentVer(PyObject *Self,void*)
{
pkgCache::DepIterator &Dep = GetCpp<pkgCache::DepIterator>(Self);
PyObject *Owner = GetOwner<pkgCache::DepIterator>(Self);
- return CppOwnedPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
+ return CppPyObject_NEW<pkgCache::VerIterator>(Owner,&PyVersion_Type,
Dep.ParentVer());
}
@@ -1179,7 +1179,7 @@ static PyObject *DependencyGetParentPkg(PyObject *Self,void*)
{
pkgCache::DepIterator &Dep = GetCpp<pkgCache::DepIterator>(Self);
PyObject *Owner = GetOwner<pkgCache::DepIterator>(Self);
- return CppOwnedPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,
+ return CppPyObject_NEW<pkgCache::PkgIterator>(Owner,&PyPackage_Type,
Dep.ParentPkg());
}
@@ -1240,10 +1240,10 @@ PyTypeObject PyDependency_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Dependency", // tp_name
- sizeof(CppOwnedPyObject<pkgCache::DepIterator>), // tp_basicsize
+ sizeof(CppPyObject<pkgCache::DepIterator>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<pkgCache::DepIterator>, // tp_dealloc
+ CppDealloc<pkgCache::DepIterator>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -1260,8 +1260,8 @@ PyTypeObject PyDependency_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"Dependency Object", // tp_doc
- CppOwnedTraverse<pkgCache::DepIterator>, // tp_traverse
- CppOwnedClear<pkgCache::DepIterator>, // tp_clear
+ CppTraverse<pkgCache::DepIterator>, // tp_traverse
+ CppClear<pkgCache::DepIterator>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -1306,7 +1306,7 @@ static PyObject *RDepListItem(PyObject *iSelf,Py_ssize_t Index)
}
}
- return CppOwnedPyObject_NEW<pkgCache::DepIterator>(GetOwner<RDepListStruct>(iSelf),
+ return CppPyObject_NEW<pkgCache::DepIterator>(GetOwner<RDepListStruct>(iSelf),
&PyDependency_Type,Self.Iter);
}
@@ -1325,10 +1325,10 @@ PyTypeObject PyDependencyList_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.DependencyList", // tp_name
- sizeof(CppOwnedPyObject<RDepListStruct>), // tp_basicsize
+ sizeof(CppPyObject<RDepListStruct>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<RDepListStruct>, // tp_dealloc
+ CppDealloc<RDepListStruct>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -1345,8 +1345,8 @@ PyTypeObject PyDependencyList_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"DependencyList Object", // tp_doc
- CppOwnedTraverse<RDepListStruct>, // tp_traverse
- CppOwnedClear<RDepListStruct>, // tp_clear
+ CppTraverse<RDepListStruct>, // tp_traverse
+ CppClear<RDepListStruct>, // tp_clear
};
/*}}}*/
diff --git a/python/cdrom.cc b/python/cdrom.cc
index 4195c9cb..0b9ae578 100644
--- a/python/cdrom.cc
+++ b/python/cdrom.cc
@@ -109,7 +109,7 @@ static PyMethodDef cdrom_methods[] = {
static PyObject *cdrom_new(PyTypeObject *type,PyObject *Args,PyObject *kwds)
{
- return CppPyObject_NEW<pkgCdrom>(type);
+ return CppPyObject_NEW<pkgCdrom>(NULL, type);
}
static char *cdrom_doc =
diff --git a/python/configuration.cc b/python/configuration.cc
index b2367c3e..0cad8db3 100644
--- a/python/configuration.cc
+++ b/python/configuration.cc
@@ -137,7 +137,7 @@ static PyObject *CnfSubTree(PyObject *Self,PyObject *Args)
return 0;
}
- return CppOwnedPyObject_NEW<Configuration*>(Self,&PyConfiguration_Type,
+ return CppPyObject_NEW<Configuration*>(Self,&PyConfiguration_Type,
new Configuration(Itm));
}
@@ -473,7 +473,7 @@ static PyObject *CnfNew(PyTypeObject *type, PyObject *args, PyObject *kwds) {
char *kwlist[] = {NULL};
if (PyArg_ParseTupleAndKeywords(args,kwds,"",kwlist) == 0)
return 0;
- return CppOwnedPyObject_NEW<Configuration*>(NULL, type, new Configuration());
+ return CppPyObject_NEW<Configuration*>(NULL, type, new Configuration());
}
// Type for a Normal Configuration object
@@ -483,10 +483,10 @@ PyTypeObject PyConfiguration_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Configuration", // tp_name
- sizeof(CppOwnedPyObject<Configuration*>), // tp_basicsize
+ sizeof(CppPyObject<Configuration*>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<Configuration*>, // tp_dealloc
+ CppDeallocPtr<Configuration*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
diff --git a/python/depcache.cc b/python/depcache.cc
index e78b9f4e..53459c32 100644
--- a/python/depcache.cc
+++ b/python/depcache.cc
@@ -219,7 +219,7 @@ static PyObject *PkgDepCacheGetCandidateVer(PyObject *Self,PyObject *Args)
Py_INCREF(Py_None);
return Py_None;
}
- CandidateObj = CppOwnedPyObject_NEW<pkgCache::VerIterator>(PackageObj,&PyVersion_Type,I);
+ CandidateObj = CppPyObject_NEW<pkgCache::VerIterator>(PackageObj,&PyVersion_Type,I);
return CandidateObj;
}
@@ -625,8 +625,8 @@ static PyObject *PkgDepCacheGetPolicy(PyObject *Self,void*) {
PyObject *Owner = GetOwner<pkgDepCache*>(Self);
pkgDepCache *DepCache = GetCpp<pkgDepCache*>(Self);
pkgPolicy *Policy = (pkgPolicy *)&DepCache->GetPolicy();
- CppOwnedPyObject<pkgPolicy*> *PyPolicy =
- CppOwnedPyObject_NEW<pkgPolicy*>(Owner,&PyPolicy_Type,Policy);
+ CppPyObject<pkgPolicy*> *PyPolicy =
+ CppPyObject_NEW<pkgPolicy*>(Owner,&PyPolicy_Type,Policy);
// Policy should not be deleted, it is managed by CacheFile.
PyPolicy->NoDelete = true;
return PyPolicy;
@@ -668,8 +668,8 @@ static PyObject *PkgDepCacheNew(PyTypeObject *type,PyObject *Args,PyObject *kwds
// and now the depcache
pkgDepCache *depcache = (pkgDepCache *)(*CacheF);
- CppOwnedPyObject<pkgDepCache*> *DepCachePyObj;
- DepCachePyObj = CppOwnedPyObject_NEW<pkgDepCache*>(Owner,type,depcache);
+ CppPyObject<pkgDepCache*> *DepCachePyObj;
+ DepCachePyObj = CppPyObject_NEW<pkgDepCache*>(Owner,type,depcache);
// Do not delete the underlying pointer, it is managed by the cachefile.
DepCachePyObj->NoDelete = true;
@@ -684,10 +684,10 @@ PyTypeObject PyDepCache_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.DepCache", // tp_name
- sizeof(CppOwnedPyObject<pkgDepCache *>), // tp_basicsize
+ sizeof(CppPyObject<pkgDepCache *>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<pkgDepCache *>, // tp_dealloc
+ CppDeallocPtr<pkgDepCache *>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -706,8 +706,8 @@ PyTypeObject PyDepCache_Type =
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
doc_PkgDepCache, // tp_doc
- CppOwnedTraverse<pkgDepCache *>, // tp_traverse
- CppOwnedClear<pkgDepCache *>, // tp_clear
+ CppTraverse<pkgDepCache *>, // tp_traverse
+ CppClear<pkgDepCache *>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -751,8 +751,8 @@ static PyObject *PkgProblemResolverNew(PyTypeObject *type,PyObject *Args,PyObjec
pkgDepCache *depcache = GetCpp<pkgDepCache*>(Owner);
pkgProblemResolver *fixer = new pkgProblemResolver(depcache);
- CppOwnedPyObject<pkgProblemResolver*> *PkgProblemResolverPyObj;
- PkgProblemResolverPyObj = CppOwnedPyObject_NEW<pkgProblemResolver*>(Owner,
+ CppPyObject<pkgProblemResolver*> *PkgProblemResolverPyObj;
+ PkgProblemResolverPyObj = CppPyObject_NEW<pkgProblemResolver*>(Owner,
type,
fixer);
HandleErrors(PkgProblemResolverPyObj);
@@ -871,10 +871,10 @@ PyTypeObject PyProblemResolver_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.ProblemResolver", // tp_name
- sizeof(CppOwnedPyObject<pkgProblemResolver *>), // tp_basicsize
+ sizeof(CppPyObject<pkgProblemResolver *>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<pkgProblemResolver *>,// tp_dealloc
+ CppDeallocPtr<pkgProblemResolver *>,// tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -893,8 +893,8 @@ PyTypeObject PyProblemResolver_Type =
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
"ProblemResolver Object", // tp_doc
- CppOwnedTraverse<pkgProblemResolver *>, // tp_traverse
- CppOwnedClear<pkgProblemResolver *>, // tp_clear
+ CppTraverse<pkgProblemResolver *>, // tp_traverse
+ CppClear<pkgProblemResolver *>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -959,8 +959,8 @@ static PyObject *PkgActionGroupNew(PyTypeObject *type,PyObject *Args,PyObject *k
pkgDepCache *depcache = GetCpp<pkgDepCache*>(Owner);
pkgDepCache::ActionGroup *group = new pkgDepCache::ActionGroup(*depcache);
- CppOwnedPyObject<pkgDepCache::ActionGroup*> *PkgActionGroupPyObj;
- PkgActionGroupPyObj = CppOwnedPyObject_NEW<pkgDepCache::ActionGroup*>(Owner,
+ CppPyObject<pkgDepCache::ActionGroup*> *PkgActionGroupPyObj;
+ PkgActionGroupPyObj = CppPyObject_NEW<pkgDepCache::ActionGroup*>(Owner,
type,
group);
HandleErrors(PkgActionGroupPyObj);
@@ -987,10 +987,10 @@ PyTypeObject PyActionGroup_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.ActionGroup", // tp_name
- sizeof(CppOwnedPyObject<pkgDepCache::ActionGroup*>), // tp_basicsize
+ sizeof(CppPyObject<pkgDepCache::ActionGroup*>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<pkgDepCache::ActionGroup*>, // tp_dealloc
+ CppDeallocPtr<pkgDepCache::ActionGroup*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -1009,8 +1009,8 @@ PyTypeObject PyActionGroup_Type =
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
doc_PkgActionGroup, // tp_doc
- CppOwnedTraverse<pkgDepCache::ActionGroup*>, // tp_traverse
- CppOwnedClear<pkgDepCache::ActionGroup*>, // tp_clear
+ CppTraverse<pkgDepCache::ActionGroup*>, // tp_traverse
+ CppClear<pkgDepCache::ActionGroup*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
diff --git a/python/generic.h b/python/generic.h
index d5d6e9fb..2b413a02 100644
--- a/python/generic.h
+++ b/python/generic.h
@@ -111,13 +111,17 @@ template <class T> struct CppPyObject : public PyObject
// However if T doesn't have a default c'tor C++ doesn't generate one for
// CppPyObject (since it can't know how it should initialize Object).
//
- // This causes problems then in CppOwnedPyObject, for which C++ can't create
+ // This causes problems then in CppPyObject, for which C++ can't create
// a c'tor that calls the base class c'tor (which causes a compilation
// error).
// So basically having the c'tor here removes the need for T to have a
// default c'tor, which is not always desireable.
CppPyObject() { };
+ // The owner of the object. The object keeps a reference to it during its
+ // lifetime.
+ PyObject *Owner;
+
// Flag which causes the underlying object to not be deleted.
bool NoDelete;
@@ -125,11 +129,6 @@ template <class T> struct CppPyObject : public PyObject
T Object;
};
-template <class T> struct CppOwnedPyObject : public CppPyObject<T>
-{
- PyObject *Owner;
-};
-
template <class T>
inline T &GetCpp(PyObject *Obj)
{
@@ -139,121 +138,73 @@ inline T &GetCpp(PyObject *Obj)
template <class T>
inline PyObject *GetOwner(PyObject *Obj)
{
- return ((CppOwnedPyObject<T> *)Obj)->Owner;
+ return ((CppPyObject<T> *)Obj)->Owner;
}
-// Generic 'new' functions
-template <class T>
-inline CppPyObject<T> *CppPyObject_NEW(PyTypeObject *Type)
-{
- #ifdef ALLOC_DEBUG
- std::cerr << "=== ALLOCATING " << Type->tp_name << " ===\n";
- #endif
- CppPyObject<T> *New = (CppPyObject<T>*)Type->tp_alloc(Type, 0);
- new (&New->Object) T;
- return New;
-}
-
-template <class T,class A>
-inline CppPyObject<T> *CppPyObject_NEW(PyTypeObject *Type,A const &Arg)
-{
- #ifdef ALLOC_DEBUG
- std::cerr << "=== ALLOCATING " << Type->tp_name << " ===\n";
- #endif
- CppPyObject<T> *New = (CppPyObject<T>*)Type->tp_alloc(Type, 0);
- new (&New->Object) T(Arg);
- return New;
-}
template <class T>
-inline CppOwnedPyObject<T> *CppOwnedPyObject_NEW(PyObject *Owner,
- PyTypeObject *Type)
+inline CppPyObject<T> *CppPyObject_NEW(PyObject *Owner,PyTypeObject *Type)
{
#ifdef ALLOC_DEBUG
std::cerr << "=== ALLOCATING " << Type->tp_name << "+ ===\n";
#endif
- CppOwnedPyObject<T> *New = (CppOwnedPyObject<T>*)Type->tp_alloc(Type, 0);
+ CppPyObject<T> *New = (CppPyObject<T>*)Type->tp_alloc(Type, 0);
new (&New->Object) T;
New->Owner = Owner;
Py_XINCREF(Owner);
return New;
}
-template <class T,class A>
-inline CppOwnedPyObject<T> *CppOwnedPyObject_NEW(PyObject *Owner,
- PyTypeObject *Type,A const &Arg)
+template <class T>
+inline CppPyObject<T> *CppPyObject_NEW(PyObject *Owner, PyTypeObject *Type,T const &Arg)
{
#ifdef ALLOC_DEBUG
std::cerr << "=== ALLOCATING " << Type->tp_name << "+ ===\n";
#endif
- CppOwnedPyObject<T> *New = (CppOwnedPyObject<T>*)Type->tp_alloc(Type, 0);
+ CppPyObject<T> *New = (CppPyObject<T>*)Type->tp_alloc(Type, 0);
new (&New->Object) T(Arg);
New->Owner = Owner;
Py_XINCREF(Owner);
return New;
}
-// Traversal and Clean for owned objects
+// Traversal and Clean for objects
template <class T>
-int CppOwnedTraverse(PyObject *self, visitproc visit, void* arg) {
- Py_VISIT(((CppOwnedPyObject<T> *)self)->Owner);
+int CppTraverse(PyObject *self, visitproc visit, void* arg) {
+ Py_VISIT(((CppPyObject<T> *)self)->Owner);
return 0;
}
template <class T>
-int CppOwnedClear(PyObject *self) {
- Py_CLEAR(((CppOwnedPyObject<T> *)self)->Owner);
+int CppClear(PyObject *self) {
+ Py_CLEAR(((CppPyObject<T> *)self)->Owner);
return 0;
}
-// Generic Dealloc type functions
template <class T>
-void CppDealloc(PyObject *Obj)
-{
- #ifdef ALLOC_DEBUG
- std::cerr << "=== DEALLOCATING " << Obj->ob_type->tp_name << " ===\n";
- #endif
- if (!((CppPyObject<T>*)Obj)->NoDelete)
- GetCpp<T>(Obj).~T();
- Obj->ob_type->tp_free(Obj);
-}
-
-template <class T>
-void CppOwnedDealloc(PyObject *iObj)
+void CppDealloc(PyObject *iObj)
{
#ifdef ALLOC_DEBUG
std::cerr << "=== DEALLOCATING " << iObj->ob_type->tp_name << "+ ===\n";
#endif
- CppOwnedPyObject<T> *Obj = (CppOwnedPyObject<T> *)iObj;
+ CppPyObject<T> *Obj = (CppPyObject<T> *)iObj;
if (!((CppPyObject<T>*)Obj)->NoDelete)
Obj->Object.~T();
- CppOwnedClear<T>(iObj);
+ CppClear<T>(iObj);
iObj->ob_type->tp_free(iObj);
}
-// Pointer deallocation
-// Generic Dealloc type functions
-template <class T>
-void CppDeallocPtr(PyObject *Obj)
-{
- #ifdef ALLOC_DEBUG
- std::cerr << "=== DEALLOCATING " << Obj->ob_type->tp_name << "* ===\n";
- #endif
- if (!((CppPyObject<T>*)Obj)->NoDelete)
- delete GetCpp<T>(Obj);
- Obj->ob_type->tp_free(Obj);
-}
template <class T>
-void CppOwnedDeallocPtr(PyObject *iObj)
+void CppDeallocPtr(PyObject *iObj)
{
#ifdef ALLOC_DEBUG
std::cerr << "=== DEALLOCATING " << iObj->ob_type->tp_name << "*+ ===\n";
#endif
- CppOwnedPyObject<T> *Obj = (CppOwnedPyObject<T> *)iObj;
+ CppPyObject<T> *Obj = (CppPyObject<T> *)iObj;
if (!((CppPyObject<T>*)Obj)->NoDelete)
delete Obj->Object;
- CppOwnedClear<T>(iObj);
+ CppClear<T>(iObj);
iObj->ob_type->tp_free(iObj);
}
diff --git a/python/hashes.cc b/python/hashes.cc
index 0086c17a..d0b0fb0c 100644
--- a/python/hashes.cc
+++ b/python/hashes.cc
@@ -25,7 +25,7 @@
static PyObject *hashes_new(PyTypeObject *type,PyObject *args,
PyObject *kwds)
{
- return CppPyObject_NEW<Hashes>(type);
+ return CppPyObject_NEW<Hashes>(NULL, type);
}
static int hashes_init(PyObject *self, PyObject *args, PyObject *kwds)
diff --git a/python/hashstring.cc b/python/hashstring.cc
index 90c80e4c..d4b7a3b2 100644
--- a/python/hashstring.cc
+++ b/python/hashstring.cc
@@ -31,7 +31,7 @@ static PyObject *hashstring_new(PyTypeObject *type,PyObject *Args,
if (PyArg_ParseTupleAndKeywords(Args, kwds, "s|s:__new__", kwlist, &Type,
&Hash) == 0)
return 0;
- CppPyObject<HashString*> *PyObj = CppPyObject_NEW<HashString*>(type);
+ CppPyObject<HashString*> *PyObj = CppPyObject_NEW<HashString*>(NULL, type);
if (Hash)
PyObj->Object = new HashString(Type,Hash);
else // Type is the combined form now (i.e. type:hash)
diff --git a/python/indexfile.cc b/python/indexfile.cc
index 7accaa50..e8df9cf2 100644
--- a/python/indexfile.cc
+++ b/python/indexfile.cc
@@ -91,11 +91,11 @@ PyTypeObject PyIndexFile_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.IndexFile", // tp_name
- sizeof(CppOwnedPyObject<pkgIndexFile*>), // tp_basicsize
+ sizeof(CppPyObject<pkgIndexFile*>), // tp_basicsize
0, // tp_itemsize
// Methods
// Not ..Ptr, because the pointer is managed somewhere else.
- CppOwnedDeallocPtr<pkgIndexFile*>, // tp_dealloc
+ CppDeallocPtr<pkgIndexFile*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -112,8 +112,8 @@ PyTypeObject PyIndexFile_Type =
0, // tp_as_buffer
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, // tp_flags
"IndexFile Object", // tp_doc
- CppOwnedTraverse<pkgIndexFile*>, // tp_traverse
- CppOwnedClear<pkgIndexFile*>, // tp_clear
+ CppTraverse<pkgIndexFile*>, // tp_traverse
+ CppClear<pkgIndexFile*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
diff --git a/python/indexrecords.cc b/python/indexrecords.cc
index 2d21362d..5750bf6b 100644
--- a/python/indexrecords.cc
+++ b/python/indexrecords.cc
@@ -30,7 +30,7 @@ static PyObject *indexrecords_new(PyTypeObject *type,PyObject *Args,
if (PyArg_ParseTupleAndKeywords(Args, kwds, "", kwlist) == 0)
return 0;
indexRecords *records = new indexRecords();
- CppPyObject<indexRecords*> *New = CppPyObject_NEW<indexRecords*>(type,
+ CppPyObject<indexRecords*> *New = CppPyObject_NEW<indexRecords*>(NULL, type,
records);
return New;
}
diff --git a/python/metaindex.cc b/python/metaindex.cc
index 2c5b0bd9..dee54521 100644
--- a/python/metaindex.cc
+++ b/python/metaindex.cc
@@ -37,8 +37,8 @@ static PyObject *MetaIndexGetIndexFiles(PyObject *Self,void*) {
for (vector<pkgIndexFile *>::const_iterator I = indexFiles->begin();
I != indexFiles->end(); I++)
{
- CppOwnedPyObject<pkgIndexFile*> *Obj;
- Obj = CppOwnedPyObject_NEW<pkgIndexFile*>(Self, &PyIndexFile_Type,*I);
+ CppPyObject<pkgIndexFile*> *Obj;
+ Obj = CppPyObject_NEW<pkgIndexFile*>(Self, &PyIndexFile_Type,*I);
// Do not delete pkgIndexFile*, they are managed by metaIndex.
Obj->NoDelete = true;
PyList_Append(List,Obj);
@@ -76,10 +76,10 @@ PyTypeObject PyMetaIndex_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.MetaIndex", // tp_name
- sizeof(CppOwnedPyObject<metaIndex*>), // tp_basicsize
+ sizeof(CppPyObject<metaIndex*>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<metaIndex*>, // tp_dealloc
+ CppDeallocPtr<metaIndex*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
diff --git a/python/pkgmanager.cc b/python/pkgmanager.cc
index 58f2aaec..9b4a9ab7 100644
--- a/python/pkgmanager.cc
+++ b/python/pkgmanager.cc
@@ -31,7 +31,7 @@ static PyObject *PkgManagerNew(PyTypeObject *type,PyObject *Args,PyObject *kwds)
pkgPackageManager *pm = _system->CreatePM(GetCpp<pkgDepCache*>(Owner));
CppPyObject<pkgPackageManager*> *PkgManagerObj =
- CppPyObject_NEW<pkgPackageManager*>(type,pm);
+ CppPyObject_NEW<pkgPackageManager*>(NULL, type,pm);
return PkgManagerObj;
}
diff --git a/python/pkgrecords.cc b/python/pkgrecords.cc
index d34ba0d2..1e43b2e8 100644
--- a/python/pkgrecords.cc
+++ b/python/pkgrecords.cc
@@ -157,7 +157,7 @@ static PyObject *PkgRecordsNew(PyTypeObject *type,PyObject *Args,PyObject *kwds)
&Owner) == 0)
return 0;
- return HandleErrors(CppOwnedPyObject_NEW<PkgRecordsStruct>(Owner,type,
+ return HandleErrors(CppPyObject_NEW<PkgRecordsStruct>(Owner,type,
GetCpp<pkgCache *>(Owner)));
}
@@ -165,10 +165,10 @@ PyTypeObject PyPackageRecords_Type =
{
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.PackageRecords", // tp_name
- sizeof(CppOwnedPyObject<PkgRecordsStruct>), // tp_basicsize
+ sizeof(CppPyObject<PkgRecordsStruct>), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<PkgRecordsStruct>, // tp_dealloc
+ CppDealloc<PkgRecordsStruct>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -187,8 +187,8 @@ PyTypeObject PyPackageRecords_Type =
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
"Records Object", // tp_doc
- CppOwnedTraverse<PkgRecordsStruct>, // tp_traverse
- CppOwnedClear<PkgRecordsStruct>, // tp_clear
+ CppTraverse<PkgRecordsStruct>, // tp_traverse
+ CppClear<PkgRecordsStruct>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
diff --git a/python/pkgsrcrecords.cc b/python/pkgsrcrecords.cc
index 0b54c2fe..41ee6276 100644
--- a/python/pkgsrcrecords.cc
+++ b/python/pkgsrcrecords.cc
@@ -123,8 +123,8 @@ static PyObject *PkgSrcRecordsGetIndex(PyObject *Self,void*) {
if (Struct.Last == 0)
return 0;
const pkgIndexFile &tmp = Struct.Last->Index();
- CppOwnedPyObject<pkgIndexFile*> *PyObj;
- PyObj = CppOwnedPyObject_NEW<pkgIndexFile*>(Self,&PyIndexFile_Type,
+ CppPyObject<pkgIndexFile*> *PyObj;
+ PyObj = CppPyObject_NEW<pkgIndexFile*>(Self,&PyIndexFile_Type,
(pkgIndexFile*)&tmp);
// Do not delete the pkgIndexFile*, it is managed by PkgSrcRecords::Parser.
PyObj->NoDelete=true;
@@ -252,7 +252,7 @@ static PyObject *PkgSrcRecordsNew(PyTypeObject *type,PyObject *args,PyObject *kw
if (PyArg_ParseTupleAndKeywords(args,kwds,"",kwlist) == 0)
return 0;
- return HandleErrors(CppPyObject_NEW<PkgSrcRecordsStruct>(type));
+ return HandleErrors(CppPyObject_NEW<PkgSrcRecordsStruct>(NULL, type));
}
PyTypeObject PySourceRecords_Type =
@@ -310,6 +310,6 @@ PyObject *GetPkgSrcRecords(PyObject *Self,PyObject *Args)
if (PyArg_ParseTuple(Args,"") == 0)
return 0;
- return HandleErrors(CppPyObject_NEW<PkgSrcRecordsStruct>(&PySourceRecords_Type));
+ return HandleErrors(CppPyObject_NEW<PkgSrcRecordsStruct>(NULL, &PySourceRecords_Type));
}
#endif
diff --git a/python/policy.cc b/python/policy.cc
index 80670267..3e1ec589 100644
--- a/python/policy.cc
+++ b/python/policy.cc
@@ -34,7 +34,7 @@ static PyObject *policy_new(PyTypeObject *type,PyObject *Args,
return 0;
}
pkgPolicy *policy = new pkgPolicy(GetCpp<pkgCache *>(cache));
- return CppOwnedPyObject_NEW<pkgPolicy*>(cache,&PyPolicy_Type,policy);
+ return CppPyObject_NEW<pkgPolicy*>(cache,&PyPolicy_Type,policy);
}
static char *policy_get_priority_doc = "get_priority(package: apt_pkg.Package)"
@@ -61,7 +61,7 @@ PyObject *policy_get_candidate_ver(PyObject *self, PyObject *arg) {
pkgPolicy *policy = GetCpp<pkgPolicy *>(self);
pkgCache::PkgIterator pkg = GetCpp<pkgCache::PkgIterator>(arg);
pkgCache::VerIterator ver = policy->GetCandidateVer(pkg);
- return CppOwnedPyObject_NEW<pkgCache::VerIterator>(arg,&PyVersion_Type,
+ return CppPyObject_NEW<pkgCache::VerIterator>(arg,&PyVersion_Type,
ver);
} else {
PyErr_SetString(PyExc_TypeError,"Argument must be of Package().");
@@ -81,7 +81,7 @@ static PyObject *policy_get_match(PyObject *self, PyObject *arg) {
pkgPolicy *policy = GetCpp<pkgPolicy *>(self);
pkgCache::PkgIterator pkg = GetCpp<pkgCache::PkgIterator>(arg);
pkgCache::VerIterator ver = policy->GetMatch(pkg);
- return CppOwnedPyObject_NEW<pkgCache::VerIterator>(arg,&PyVersion_Type,ver);
+ return CppPyObject_NEW<pkgCache::VerIterator>(arg,&PyVersion_Type,ver);
}
static char *policy_read_pinfile_doc = "read_pinfile(filename: str) -> bool\n\n"
@@ -163,10 +163,10 @@ static char *policy_doc = "Policy(cache)\n\n"
PyTypeObject PyPolicy_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.Policy", // tp_name
- sizeof(CppOwnedPyObject<pkgPolicy*>),// tp_basicsize
+ sizeof(CppPyObject<pkgPolicy*>),// tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDeallocPtr<pkgPolicy*>, // tp_dealloc
+ CppDeallocPtr<pkgPolicy*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -185,8 +185,8 @@ PyTypeObject PyPolicy_Type = {
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
policy_doc, // tp_doc
- CppOwnedTraverse<pkgPolicy*>, // tp_traverse
- CppOwnedClear<pkgPolicy*>, // tp_clear
+ CppTraverse<pkgPolicy*>, // tp_traverse
+ CppClear<pkgPolicy*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
diff --git a/python/python-apt.h b/python/python-apt.h
index f8c21adc..6f688c93 100644
--- a/python/python-apt.h
+++ b/python/python-apt.h
@@ -218,22 +218,11 @@ static int import_apt_pkg(void) {
# define PyTagSection_ToCpp GetCpp<pkgTagSection>
# define PyVersion_ToCpp GetCpp<pkgCache::VerIterator>
-// Python object creation, using two inline template functions and one variadic
-// macro per type.
+// Template using a simpler version of from cpp
template<class Cpp>
-inline CppPyObject<Cpp> *FromCpp(PyTypeObject *pytype, Cpp obj,
- bool Delete=false)
+inline CppPyObject<Cpp> *FromCpp(PyTypeObject *pytype, Cpp const &obj, bool Delete=false, PyObject *Owner=NULL)
{
- CppPyObject<Cpp> *Obj = CppPyObject_NEW<Cpp>(pytype, obj);
- Obj->NoDelete = (!Delete);
- return Obj;
-}
-
-template<class Cpp>
-inline CppOwnedPyObject<Cpp> *FromCppOwned(PyTypeObject *pytype, Cpp const &obj,
- bool Delete=false, PyObject *Owner=NULL)
-{
- CppOwnedPyObject<Cpp> *Obj = CppOwnedPyObject_NEW<Cpp>(Owner, pytype, obj);
+ CppPyObject<Cpp> *Obj = CppPyObject_NEW<Cpp>(Owner, pytype, obj);
Obj->NoDelete = (!Delete);
return Obj;
}
@@ -241,34 +230,34 @@ inline CppOwnedPyObject<Cpp> *FromCppOwned(PyTypeObject *pytype, Cpp const &obj,
# ifndef APT_PKGMODULE_H
# define PyAcquire_FromCpp _PyAptPkg_API->acquire_fromcpp
#endif
-# define PyAcquireFile_FromCpp(...) FromCppOwned<pkgAcqFile*>(&PyAcquireFile_Type, ##__VA_ARGS__)
-# define PyAcquireItem_FromCpp(...) FromCppOwned<pkgAcquire::Item*>(&PyAcquireItem_Type,##__VA_ARGS__)
-# define PyAcquireItemDesc_FromCpp(...) FromCppOwned<pkgAcquire::ItemDesc*>(&PyAcquireItemDesc_Type,##__VA_ARGS__)
-# define PyAcquireWorker_FromCpp(...) FromCppOwned<pkgAcquire::Worker*>(&PyAcquireWorker_Type,##__VA_ARGS__)
-# define PyActionGroup_FromCpp(...) FromCppOwned<pkgDepCache::ActionGroup*>(&PyActionGroup_Type,##__VA_ARGS__)
-# define PyCache_FromCpp(...) FromCppOwned<pkgCache*>(&PyCache_Type,##__VA_ARGS__)
+# define PyAcquireFile_FromCpp(...) FromCpp<pkgAcqFile*>(&PyAcquireFile_Type, ##__VA_ARGS__)
+# define PyAcquireItem_FromCpp(...) FromCpp<pkgAcquire::Item*>(&PyAcquireItem_Type,##__VA_ARGS__)
+# define PyAcquireItemDesc_FromCpp(...) FromCpp<pkgAcquire::ItemDesc*>(&PyAcquireItemDesc_Type,##__VA_ARGS__)
+# define PyAcquireWorker_FromCpp(...) FromCpp<pkgAcquire::Worker*>(&PyAcquireWorker_Type,##__VA_ARGS__)
+# define PyActionGroup_FromCpp(...) FromCpp<pkgDepCache::ActionGroup*>(&PyActionGroup_Type,##__VA_ARGS__)
+# define PyCache_FromCpp(...) FromCpp<pkgCache*>(&PyCache_Type,##__VA_ARGS__)
# define PyCacheFile_FromCpp(...) FromCpp<pkgCacheFile*>(&PyCacheFile_Type,##__VA_ARGS__)
# define PyCdrom_FromCpp(...) FromCpp<pkgCdrom>(&PyCdrom_Type,##__VA_ARGS__)
-# define PyConfiguration_FromCpp(...) FromCppOwned<Configuration*>(&PyConfiguration_Type, ##__VA_ARGS__)
-# define PyDepCache_FromCpp(...) FromCppOwned<pkgDepCache*>(&PyDepCache_Type,##__VA_ARGS__)
-# define PyDependency_FromCpp(...) FromCppOwned<pkgCache::DepIterator>(&PyDependency_Type,##__VA_ARGS__)
-//# define PyDependencyList_FromCpp(...) FromCppOwned<RDepListStruct>(&PyDependencyList_Type,##__VA_ARGS__)
-# define PyDescription_FromCpp(...) FromCppOwned<pkgCache::DescIterator>(&PyDescription_Type,##__VA_ARGS__)
+# define PyConfiguration_FromCpp(...) FromCpp<Configuration*>(&PyConfiguration_Type, ##__VA_ARGS__)
+# define PyDepCache_FromCpp(...) FromCpp<pkgDepCache*>(&PyDepCache_Type,##__VA_ARGS__)
+# define PyDependency_FromCpp(...) FromCpp<pkgCache::DepIterator>(&PyDependency_Type,##__VA_ARGS__)
+//# define PyDependencyList_FromCpp(...) FromCpp<RDepListStruct>(&PyDependencyList_Type,##__VA_ARGS__)
+# define PyDescription_FromCpp(...) FromCpp<pkgCache::DescIterator>(&PyDescription_Type,##__VA_ARGS__)
# define PyHashes_FromCpp(...) FromCpp<Hashes>(&PyHashes_Type,##__VA_ARGS__)
# define PyHashString_FromCpp(...) FromCpp<HashString*>(&PyHashString_Type,##__VA_ARGS__)
# define PyIndexRecords_FromCpp(...) FromCpp<indexRecords*>(&PyIndexRecords_Type,##__VA_ARGS__)
-# define PyMetaIndex_FromCpp(...) FromCppOwned<metaIndex*>(&PyMetaIndex_Type,##__VA_ARGS__)
-# define PyPackage_FromCpp(...) FromCppOwned<pkgCache::PkgIterator>(&PyPackage_Type,##__VA_ARGS__)
-# define PyIndexFile_FromCpp(...) FromCppOwned<pkgIndexFile*>(&PyIndexFile_Type,##__VA_ARGS__)
-# define PyPackageFile_FromCpp(...) FromCppOwned<pkgCache::PkgFileIterator>(&PyPackageFile_Type,##__VA_ARGS__)
-//# define PyPackageList_FromCpp(...) FromCppOwned<PkgListStruct>(&PyPackageList_Type,##__VA_ARGS__)
+# define PyMetaIndex_FromCpp(...) FromCpp<metaIndex*>(&PyMetaIndex_Type,##__VA_ARGS__)
+# define PyPackage_FromCpp(...) FromCpp<pkgCache::PkgIterator>(&PyPackage_Type,##__VA_ARGS__)
+# define PyIndexFile_FromCpp(...) FromCpp<pkgIndexFile*>(&PyIndexFile_Type,##__VA_ARGS__)
+# define PyPackageFile_FromCpp(...) FromCpp<pkgCache::PkgFileIterator>(&PyPackageFile_Type,##__VA_ARGS__)
+//# define PyPackageList_FromCpp(...) FromCpp<PkgListStruct>(&PyPackageList_Type,##__VA_ARGS__)
# define PyPackageManager_FromCpp(...) FromCpp<pkgPackageManager*>(&PyPackageManager_Type,##__VA_ARGS__)
-//# define PyPackageRecords_FromCpp(...) FromCppOwned<PkgRecordsStruct>(&PyPackageRecords_Type,##__VA_ARGS__)
-# define PyPolicy_FromCpp(...) FromCppOwned<pkgPolicy*>(&PyPolicy_Type,##__VA_ARGS__)
-# define PyProblemResolver_FromCpp(...) FromCppOwned<pkgProblemResolver*>(&PyProblemResolver_Type,##__VA_ARGS__)
+//# define PyPackageRecords_FromCpp(...) FromCpp<PkgRecordsStruct>(&PyPackageRecords_Type,##__VA_ARGS__)
+# define PyPolicy_FromCpp(...) FromCpp<pkgPolicy*>(&PyPolicy_Type,##__VA_ARGS__)
+# define PyProblemResolver_FromCpp(...) FromCpp<pkgProblemResolver*>(&PyProblemResolver_Type,##__VA_ARGS__)
# define PySourceList_FromCpp(...) FromCpp<pkgSourceList*>(&PySourceList_Type,##__VA_ARGS__)
//# define PySourceRecords_FromCpp(...) FromCpp<PkgSrcRecordsStruct>(&PySourceRecords_Type,##__VA_ARGS__)
-# define PyTagFile_FromCpp(...) FromCppOwned<pkgTagFile>(&PyTagFile_Type,##__VA_ARGS__)
-# define PyTagSection_FromCpp(...) FromCppOwned<pkgTagSection>(&PyTagSection_Type,##__VA_ARGS__)
-# define PyVersion_FromCpp(...) FromCppOwned<pkgCache::VerIterator>(&PyVersion_Type,##__VA_ARGS__)
+# define PyTagFile_FromCpp(...) FromCpp<pkgTagFile>(&PyTagFile_Type,##__VA_ARGS__)
+# define PyTagSection_FromCpp(...) FromCpp<pkgTagSection>(&PyTagSection_Type,##__VA_ARGS__)
+# define PyVersion_FromCpp(...) FromCpp<pkgCache::VerIterator>(&PyVersion_Type,##__VA_ARGS__)
#endif
diff --git a/python/sourcelist.cc b/python/sourcelist.cc
index 52c0e6a8..b705d8b8 100644
--- a/python/sourcelist.cc
+++ b/python/sourcelist.cc
@@ -26,7 +26,7 @@ static PyObject *PkgSourceListFindIndex(PyObject *Self,PyObject *Args)
{
pkgSourceList *list = GetCpp<pkgSourceList*>(Self);
PyObject *pyPkgFileIter;
- CppOwnedPyObject<pkgIndexFile*> *pyPkgIndexFile;
+ CppPyObject<pkgIndexFile*> *pyPkgIndexFile;
if (PyArg_ParseTuple(Args, "O!", &PyPackageFile_Type,&pyPkgFileIter) == 0)
return 0;
@@ -35,7 +35,7 @@ static PyObject *PkgSourceListFindIndex(PyObject *Self,PyObject *Args)
pkgIndexFile *index;
if(list->FindIndex(i, index))
{
- pyPkgIndexFile = CppOwnedPyObject_NEW<pkgIndexFile*>(pyPkgFileIter,&PyIndexFile_Type,index);
+ pyPkgIndexFile = CppPyObject_NEW<pkgIndexFile*>(pyPkgFileIter,&PyIndexFile_Type,index);
// Do not delete the pkgIndexFile*, it is managed by pkgSourceList.
pyPkgIndexFile->NoDelete = true;
return pyPkgIndexFile;
@@ -92,8 +92,8 @@ static PyObject *PkgSourceListGetList(PyObject *Self,void*)
for (vector<metaIndex *>::const_iterator I = list->begin();
I != list->end(); I++)
{
- CppOwnedPyObject<metaIndex*> *Obj;
- Obj = CppOwnedPyObject_NEW<metaIndex*>(Self, &PyMetaIndex_Type,*I);
+ CppPyObject<metaIndex*> *Obj;
+ Obj = CppPyObject_NEW<metaIndex*>(Self, &PyMetaIndex_Type,*I);
// Never delete metaIndex*, they are managed by the pkgSourceList.
Obj->NoDelete = true;
PyList_Append(List,Obj);
@@ -115,7 +115,7 @@ static PyObject *PkgSourceListNew(PyTypeObject *type,PyObject *args,PyObject *kw
char *kwlist[] = {0};
if (PyArg_ParseTupleAndKeywords(args,kwds,"",kwlist) == 0)
return 0;
- return CppPyObject_NEW<pkgSourceList*>(type,new pkgSourceList());
+ return CppPyObject_NEW<pkgSourceList*>(NULL, type,new pkgSourceList());
}
PyTypeObject PySourceList_Type =
diff --git a/python/tag.cc b/python/tag.cc
index b1a3e520..2aaf3beb 100644
--- a/python/tag.cc
+++ b/python/tag.cc
@@ -34,13 +34,13 @@
using namespace std;
/*}}}*/
/* We need to keep a private copy of the data.. */
-struct TagSecData : public CppOwnedPyObject<pkgTagSection>
+struct TagSecData : public CppPyObject<pkgTagSection>
{
char *Data;
};
// The owner of the TagFile is a Python file object.
-struct TagFileData : public CppOwnedPyObject<pkgTagFile>
+struct TagFileData : public CppPyObject<pkgTagFile>
{
TagSecData *Section;
FileFd Fd;
@@ -68,7 +68,7 @@ void TagSecFree(PyObject *Obj)
{
TagSecData *Self = (TagSecData *)Obj;
delete [] Self->Data;
- CppOwnedDealloc<pkgTagSection>(Obj);
+ CppDealloc<pkgTagSection>(Obj);
}
/*}}}*/
// TagFileFree - Free a Tag File /*{{{*/
@@ -488,8 +488,8 @@ PyTypeObject PyTagSection_Type =
Py_TPFLAGS_BASETYPE |
Py_TPFLAGS_HAVE_GC),
doc_TagSec, // tp_doc
- CppOwnedTraverse<pkgTagSection>, // tp_traverse
- CppOwnedClear<pkgTagSection>, // tp_clear
+ CppTraverse<pkgTagSection>, // tp_traverse
+ CppClear<pkgTagSection>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
diff --git a/python/tarfile.cc b/python/tarfile.cc
index 775ae22e..aa9a39f6 100644
--- a/python/tarfile.cc
+++ b/python/tarfile.cc
@@ -102,8 +102,8 @@ bool PyDirStream::FinishedFile(Item &Itm,int Fd)
return true;
// The current member and data.
- CppOwnedPyObject<Item> *py_member;
- py_member = CppOwnedPyObject_NEW<Item>(0, &PyTarMember_Type);
+ CppPyObject<Item> *py_member;
+ py_member = CppPyObject_NEW<Item>(0, &PyTarMember_Type);
// Clone our object, including the strings in it.
py_member->Object = Itm;
py_member->Object.Name = new char[strlen(Itm.Name)+1];
@@ -121,7 +121,7 @@ void tarmember_dealloc(PyObject *self) {
// We cloned those strings, delete them again.
delete[] GetCpp<pkgDirStream::Item>(self).Name;
delete[] GetCpp<pkgDirStream::Item>(self).LinkTarget;
- CppOwnedDealloc<pkgDirStream::Item>(self);
+ CppDealloc<pkgDirStream::Item>(self);
}
// The tarfile.TarInfo interface for our TarMember class.
@@ -269,7 +269,7 @@ static const char *tarmember_doc =
PyTypeObject PyTarMember_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_inst.TarMember", // tp_name
- sizeof(CppOwnedPyObject<pkgDirStream::Item>), // tp_basicsize
+ sizeof(CppPyObject<pkgDirStream::Item>), // tp_basicsize
0, // tp_itemsize
// Methods
tarmember_dealloc, // tp_dealloc
@@ -290,8 +290,8 @@ PyTypeObject PyTarMember_Type = {
Py_TPFLAGS_DEFAULT | // tp_flags
Py_TPFLAGS_HAVE_GC,
tarmember_doc, // tp_doc
- CppOwnedTraverse<pkgDirStream::Item>, // tp_traverse
- CppOwnedClear<pkgDirStream::Item>, // tp_clear
+ CppTraverse<pkgDirStream::Item>, // tp_traverse
+ CppClear<pkgDirStream::Item>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
@@ -318,7 +318,7 @@ static PyObject *tarfile_new(PyTypeObject *type,PyObject *args,PyObject *kwds)
&max,&comp) == 0)
return 0;
- self = (PyTarFileObject*)CppOwnedPyObject_NEW<ExtractTar*>(file,type);
+ self = (PyTarFileObject*)CppPyObject_NEW<ExtractTar*>(file,type);
// We receive a filename.
if ((filename = (char*)PyObject_AsString(file)))
@@ -450,7 +450,7 @@ PyTypeObject PyTarFile_Type = {
sizeof(PyTarFileObject), // tp_basicsize
0, // tp_itemsize
// Methods
- CppOwnedDealloc<ExtractTar*>, // tp_dealloc
+ CppDealloc<ExtractTar*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
@@ -468,8 +468,8 @@ PyTypeObject PyTarFile_Type = {
Py_TPFLAGS_DEFAULT | // tp_flags
Py_TPFLAGS_HAVE_GC,
tarfile_doc, // tp_doc
- CppOwnedTraverse<ExtractTar*>, // tp_traverse
- CppOwnedClear<ExtractTar*>, // tp_clear
+ CppTraverse<ExtractTar*>, // tp_traverse
+ CppClear<ExtractTar*>, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter