summaryrefslogtreecommitdiff
path: root/python/cdrom.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2005-04-11 14:19:44 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2005-04-11 14:19:44 +0000
commita8074615c2bac880bf4fd7d5b15e621b88a20052 (patch)
tree4e929c12c6997452335d5620b5b5208affb83698 /python/cdrom.cc
parent1b514e848902f609cba9b2247702fc6d714d2456 (diff)
downloadpython-apt-a8074615c2bac880bf4fd7d5b15e621b88a20052.tar.gz
* cdrom interface added
Diffstat (limited to 'python/cdrom.cc')
-rw-r--r--python/cdrom.cc105
1 files changed, 105 insertions, 0 deletions
diff --git a/python/cdrom.cc b/python/cdrom.cc
new file mode 100644
index 00000000..764110ce
--- /dev/null
+++ b/python/cdrom.cc
@@ -0,0 +1,105 @@
+// Description /*{{{*/
+// $Id: cdrom.cc,v 1.1 2003/06/03 03:03:23 mvo Exp $
+/* ######################################################################
+
+ Cdrom - Wrapper for the apt-cdrom support
+
+ ##################################################################### */
+
+#include "generic.h"
+#include "apt_pkgmodule.h"
+#include "progress.h"
+
+#include <apt-pkg/cdrom.h>
+
+
+struct PkgCdromStruct
+{
+ pkgCdrom cdrom;
+};
+
+static PyObject *PkgCdromAdd(PyObject *Self,PyObject *Args)
+{
+ PkgCdromStruct &Struct = GetCpp<PkgCdromStruct>(Self);
+
+ PyObject *pyCdromProgressInst = 0;
+ if (PyArg_ParseTuple(Args, "O", &pyCdromProgressInst) == 0) {
+ return 0;
+ }
+
+ PyCdromProgress progress;
+ progress.setCallbackInst(pyCdromProgressInst);
+
+ Struct.cdrom.Add(&progress);
+
+ Py_INCREF(Py_None);
+ return HandleErrors(Py_None);
+}
+
+static PyObject *PkgCdromIdent(PyObject *Self,PyObject *Args)
+{
+ PkgCdromStruct &Struct = GetCpp<PkgCdromStruct>(Self);
+
+ if (PyArg_ParseTuple(Args,"") == 0)
+ return 0;
+
+ //pkgFixBroken(*Struct.depcache);
+
+ Py_INCREF(Py_None);
+ return HandleErrors(Py_None);
+}
+
+
+static PyMethodDef PkgCdromMethods[] =
+{
+ {"Add",PkgCdromAdd,METH_VARARGS,"Add a cdrom"},
+ {"Ident",PkgCdromIdent,METH_VARARGS,"Ident a cdrom"},
+ {}
+};
+
+
+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
+ sizeof(CppOwnedPyObject<PkgCdromStruct>), // tp_basicsize
+ 0, // tp_itemsize
+ // Methods
+ CppOwnedDealloc<PkgCdromStruct>, // tp_dealloc
+ 0, // tp_print
+ CdromAttr, // 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_hash
+};
+
+PyObject *GetCdrom(PyObject *Self,PyObject *Args)
+{
+ pkgCdrom *cdrom = new pkgCdrom();
+
+ CppOwnedPyObject<pkgCdrom> *CdromObj =
+ CppOwnedPyObject_NEW<pkgCdrom>(0,&PkgCdromType, *cdrom);
+
+ return CdromObj;
+}
+
+
+
+
+ /*}}}*/