diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 37333bf25ad9a4c538250f5af2f9f1d666362883 (patch) | |
tree | c45e8df5b9efbffe07eb3d9340df7811c7e16943 /kpackage/pkgInterface.h | |
download | tdeadmin-37333bf25ad9a4c538250f5af2f9f1d666362883.tar.gz tdeadmin-37333bf25ad9a4c538250f5af2f9f1d666362883.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeadmin@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpackage/pkgInterface.h')
-rw-r--r-- | kpackage/pkgInterface.h | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/kpackage/pkgInterface.h b/kpackage/pkgInterface.h new file mode 100644 index 0000000..3094af8 --- /dev/null +++ b/kpackage/pkgInterface.h @@ -0,0 +1,220 @@ +/* +** 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 PKG_IFACE_H +#define PKG_IFACE_H + +#include "../config.h" +#include <qptrlist.h> +#include <qstring.h> +#include <qstringlist.h> + +#include <kglobal.h> +#include <kstandarddirs.h> + +#include "packageInfo.h" +#include "managementWidget.h" + +class packageInfo; +class pkgOptions; +class Locations; +class LcacheObj; +class cacheObj; +class KAccel; +class KActionCollection; +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// + +// flags to install and uninstall +class param +{ +public: + param(const QString &nameP, bool initP, bool invertP, const QString &flagP); + param(const QString &nameP, bool initP, bool invertP, const QString &flagP, const QString &flagAP); + ~param(); + + QString name; // Name of flag + bool init; // Initial value + bool invert; // Whether it needs to be inverted + QString flag; // text flag on command + QString flagA; // text flag on command +}; + +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +class pkgInterface: public QObject +{ + Q_OBJECT + +public: + pkgInterface(); + virtual ~pkgInterface(); + + virtual bool isType(char *buf, const QString &fname) = 0; + // looks at start of file to check that package is correct type + + virtual void makeMenu(KActionCollection* act); + virtual void setMenu(KActionCollection* act, bool enable); + + bool ifExe(QString exe); + // Check if this executable exists + + virtual packageInfo *getPackageInfo(char mode, const QString &name, + const QString &version) = 0; + // get info on installed or uninstalled package. version is only set if + // mode is 'i' (ie, if the package is already installed). + + virtual QStringList getFileList(packageInfo *p) = 0; + // get list of files in the package + + virtual QStringList depends(const QString &name, int src); + // check dependencies for package + + virtual QStringList verify(packageInfo *p, const QStringList &files); + // check the installed files in a package + + virtual QStringList FindFile(const QString &name, bool seachAll=false) = 0; + // search for packages containg a file + + virtual QStringList getChangeLog(packageInfo *p) = 0; + // Get change log + + virtual bool filesTab(packageInfo *p) = 0; + // If files tab is to be enabled + + virtual bool changeTab(packageInfo *p) = 0; + // If change log tab is to be enabled + + virtual bool parseName(const QString &name, QString *n, QString *v) = 0; + // breakup file name into package name and version + + virtual void listPackages(QPtrList<packageInfo> *pki); + // scan various locations for list of packages + + virtual void listInstalledPackages(QPtrList<packageInfo> *pki) = 0; + // produce list of currently installed packages + + virtual QStringList listInstalls(const QStringList &packs, bool install, bool &cancel); + // Convert list of packages requested to install to list of all packages to install + + virtual void smerge(packageInfo *p); + // merge in package info entry + + QString getDir(cacheObj *cp); + // list directory local or remote + + void listDir(QPtrList<packageInfo> *pki, const QString &fname, const QString &dir, bool subdirs = FALSE); + // list the packages in a directory + + packageInfo *collectDir(const QString &name, const QString &size, const QString &dir); + // build packageInfo object from directory entry + + QString getPackList(cacheObj *cp); + // get packages information file + + virtual QString provMap(const QString &p); + // convert from package depends to package + + QString setOptions(int flags, QPtrList<param> ¶ms); + // convert un/install flags to text + + virtual QString doUninstall(int uninstallFlags, const QString &packs, bool &test); + virtual QString doInstall(int installFlags, const QString &packs, bool &test); + virtual QString uninstall(int uninstallFlags, QPtrList<packageInfo> *p, + bool &test); + virtual QString uninstall(int uninstallFlags, packageInfo *p, + bool &test); + virtual QString install(int installFlags, QPtrList<packageInfo> *p, + bool &test); + virtual QString install(int installFlags, packageInfo *p, + bool &test); + + virtual QStringList readApt(); + virtual void writeApt(const QStringList &list); + + ///////////// DATA /////////////////////// + pkgOptions *uninstallation, *installation; + + QString icon; + // name icon file + QString head; + // capitalized name of package type + QString name; + // More descriptive name + QPixmap pict, bad_pict, new_pict, updated_pict; + // icons for package states + QPixmap folder; + // icon for package group + QPixmap markInst; + QPixmap markUnInst; + // icon indicating mark for install/uninstall + + Locations *locatedialog; + // dialog for setting the locations of uninstalled packages + LcacheObj *packageLoc; + // List of locations of uninstalled pacckages + + bool dirOK; + // variables related to reading packages from directories + + QString packagePattern; + QString queryMsg; + QString typeID; + // Parameters for reading packages from directories + + QPtrList<param> paramsInst; + QPtrList<param> paramsUninst; + + bool noFetch; + // kpackage doesn't fetch this type of package itself + + bool defaultHandle; + // This package type defaults to on + + QString errExe; + // The name of an executable that wasn't found + + QString procMsg; + // for running processes + + QString DELMSG; + + bool hasRemote; + // can access on remote host + + bool hasSearchAll; + // can search uninstalled packages for files + + bool hasProgram; + // the program needed to handle this package type is available + +public slots: + virtual void setLocation() = 0; + virtual void setAvail(LcacheObj *) = 0; +}; + +#endif |