00001 /********************************************************************** 00002 ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of the Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 00021 #ifndef __packageslave_h__ 00022 #define __packageslave_h__ 00023 00024 #include <qtopia/global.h> 00025 #include <qobject.h> 00026 00027 class QCopChannel; 00028 class QProcess; 00029 00030 class PackageHandler : public QObject 00031 { 00032 Q_OBJECT 00033 00034 public: 00035 PackageHandler( QObject *parent, char* name = 0 ); 00036 00037 public slots: 00038 void redoPackages(); 00039 00040 protected: 00041 void installPackage( const QString &package, const QString &dest = QString::null ); 00042 void removePackage( const QString &package ); 00043 00044 void addPackageFiles( const QString &location, const QString &listfile ); 00045 void addPackages( const QString &location ); 00046 00047 void cleanupPackageFiles( const QString &listfile ); 00048 void cleanupPackages( const QString &location ); 00049 00050 void prepareInstall( const QString& size, const QString& path ); 00051 00052 protected slots: 00053 void qcopMessage( const QCString &msg, const QByteArray &data ); 00054 void iProcessExited(); 00055 void rmProcessExited(); 00056 void readyReadStdout(); 00057 void readyReadStderr(); 00058 00059 private: 00060 void sendReply( const QCString& msg, const QString& arg ); 00061 00062 private: 00063 QCopChannel *packageChannel; 00064 QProcess *currentProcess; 00065 QString currentPackage; 00066 QString currentProcessError; 00067 bool mNoSpaceLeft; 00068 }; 00069 00070 00071 #endif // __QUICK_LAUNCHER_H__ 00072 00073
1.4.2