diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2005-04-11 14:19:44 +0000 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2005-04-11 14:19:44 +0000 |
| commit | a8074615c2bac880bf4fd7d5b15e621b88a20052 (patch) | |
| tree | 4e929c12c6997452335d5620b5b5208affb83698 /python/cdrom.cc | |
| parent | 1b514e848902f609cba9b2247702fc6d714d2456 (diff) | |
| download | python-apt-a8074615c2bac880bf4fd7d5b15e621b88a20052.tar.gz | |
* cdrom interface added
Diffstat (limited to 'python/cdrom.cc')
| -rw-r--r-- | python/cdrom.cc | 105 |
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; +} + + + + + /*}}}*/ |
