00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef OIPKG_H
00032 #define OIPKG_H
00033
00034 #include "oconfitem.h"
00035 #include "opackage.h"
00036
00037 #include <qpe/config.h>
00038
00039 #include <qobject.h>
00040
00041
00042 #define FORCE_DEPENDS 0x0001
00043 #define FORCE_REMOVE 0x0002
00044 #define FORCE_REINSTALL 0x0004
00045 #define FORCE_OVERWRITE 0x0008
00046
00047 class OConfItemList;
00048
00049 class OIpkg : public QObject
00050 {
00051 Q_OBJECT
00052
00053 public:
00054 OIpkg( Config *config = 0l, QObject *parent = 0l, const char *name = 0l );
00055 ~OIpkg();
00056
00057 OConfItemList *configItems();
00058 OConfItemList *servers();
00059 OConfItemList *destinations();
00060 OConfItemList *options();
00061
00062 int ipkgExecOptions() { return m_ipkgExecOptions; }
00063 int ipkgExecVerbosity() { return m_ipkgExecVerbosity; }
00064
00065 void setConfigItems( OConfItemList *configList );
00066 void setIpkgExecOptions( int options ) { m_ipkgExecOptions = options; }
00067 void setIpkgExecVerbosity( int verbosity ) { m_ipkgExecVerbosity = verbosity; }
00068
00069 void saveSettings();
00070
00071 OPackageList *availablePackages( const QString &server = QString::null );
00072 OPackageList *installedPackages( const QString &destName = QString::null,
00073 const QString &destPath = QString::null );
00074
00075 OConfItem *findConfItem( OConfItem::Type type = OConfItem::NotDefined,
00076 const QString &name = QString::null );
00077
00078 bool executeCommand( OPackage::Command command = OPackage::NotDefined,
00079 const QStringList ¶meters = QStringList(),
00080 const QString &destination = QString::null,
00081 const QObject *receiver = 0l,
00082 const char *slotOutput = 0l,
00083 bool rawOutput = true );
00084 void abortCommand();
00085
00086 void ipkgMessage( char *msg );
00087 void ipkgStatus( char *status );
00088 void ipkgList( char *filelist );
00089
00090 private:
00091 Config *m_config;
00092 OConfItemList *m_confInfo;
00093 int m_ipkgExecOptions;
00094 int m_ipkgExecVerbosity;
00095 QString m_rootPath;
00096
00097 void loadConfiguration();
00098 OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined );
00099 const QString &rootPath();
00100 void linkPackageDir( const QString &dest = QString::null );
00101 void unlinkPackage( const QString &package = QString::null,
00102 OConfItemList *destList = 0l );
00103
00104 signals:
00105 void signalIpkgMessage( const QString &msg );
00106 void signalIpkgStatus( const QString &status );
00107 void signalIpkgList( const QString &filelist );
00108 };
00109
00110 #endif