diff options
Diffstat (limited to 'kpackage/debInterface.h')
-rw-r--r-- | kpackage/debInterface.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/kpackage/debInterface.h b/kpackage/debInterface.h new file mode 100644 index 0000000..98307f8 --- /dev/null +++ b/kpackage/debInterface.h @@ -0,0 +1,112 @@ +/* +** Copyright (C) 1999,2000 Toivo Pedaste <toivo@ucs.uwa.edu.au> +** +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program in a file called COPYING; if not, write to +** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +** MA 02110-1301, USA. +*/ + +/* +** Bug reports and questions can be sent to kde-devel@kde.org +*/ + + +#ifndef DEB_IFACE_H +#define DEB_IFACE_H + +#include "../config.h" + +#include <qptrlist.h> +#include <qdir.h> +#include <qfile.h> +#include <qfileinfo.h> +#include <qtextstream.h> +#include <qstringlist.h> + +#include <kprocess.h> + +#include "pkgInterface.h" + +class packageInfo; +class updateLoc; +class cacheObj; + +#define AVAIL "/var/lib/dpkg/available" +#define STATUS "/var/lib/dpkg/status" + +#define INFODIR "/var/lib/dpkg/info/" + + +class DEB: public pkgInterface +{ + Q_OBJECT + +public: + DEB(); + ~DEB(); + + virtual bool isType(char *buf, const QString &fname); + + virtual packageInfo *getPackageInfo(char mode, const QString &name, + const QString &version); + virtual QStringList getFileList(packageInfo *p); + virtual QStringList getChangeLog(packageInfo *p); + + bool filesTab(packageInfo *p); + // If files tab is to be enabled + + bool changeTab(packageInfo *p); + // If change log tab is to be enabled + + virtual void listInstalledPackages(QPtrList<packageInfo> *pki); + + virtual QStringList FindFile(const QString &name, bool seachAll=false); + virtual bool parseName(const QString &name, QString *n, QString *v); + + virtual packageInfo* collectInfo(QStringList &ln, pkgInterface *pkgInt = 0); + + QString uninstall(int uninstallFlags, QPtrList<packageInfo> *p, + bool &test); + QString install(int installFlags, QPtrList<packageInfo> *p, + bool &test); + QString doInstall(int installFlags, const QString &packs, bool &test); + +public slots: + void setLocation(); + void setAvail(LcacheObj *); + +protected: + packageInfo *getIPackageInfo(const QString &name); + packageInfo *getIRPackageInfo(const QString &name); + packageInfo *getUPackageInfo(const QString &name); + + QStringList getIChangeLog(packageInfo *p); + + void listPackList(QPtrList<packageInfo> *pki, + const QString &fname, cacheObj *cp); + + virtual void distPackages(QPtrList<packageInfo> *pki, cacheObj *cp); + void listUnIPackages(QPtrList<packageInfo> *pki, LcacheObj *pCache); + + QStringList getIFileList(packageInfo *p); + QStringList getUFileList(const QString &fn); +}; + +#endif + + + |