• Main Page
  • Classes
  • Files
  • File List

/home/bifh7/cs2009q3-i386/work/package-manager-1.0.2+0m6/libpkgmgr-dbus-qt/packagemanager.h

00001 /*
00002  * Copyright (C) 2009 - 2011 Nokia Corporation.
00003  *
00004  * This program is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU General Public License version
00006  * 2 as published by the Free Software Foundation.
00007  *
00008  * This program is distributed in the hope that it will be useful, but
00009  * WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011  * General Public License for more details.
00012  *
00013  * You should have received a copy of the GNU General Public License
00014  * along with this program.  If not, see http://www.gnu.org/licenses/.
00015  *
00016  */
00017 
00018 #ifndef PACKAGEMANAGER_H
00019 #define PACKAGEMANAGER_H
00020 
00021 #include <QtDBus/QDBusPendingReply>
00022 #include <QObject>
00023 #include <QMap>
00024 #include <QList>
00025 #include <QVariant>
00026 
00027 class QString;
00028 class QDBusError;
00029 class QDBusPendingCallWatcher;
00030 class PackageManagerPendingCallWatcher;
00031 class PackageManagerPendingFetchWatcher;
00032 class PackageManagerPrivate;
00033 
00034 const QString PackageNameString("Name");
00035 const QString PackageVersionString("Version");
00036 const QString PackageInstalledSizeInt64("InstalledSize");
00037 const QString PackageDisplayNameString("DisplayName");
00038 const QString PackageDescriptionString("Description");
00039 const QString PackageCategoryString("Category");
00040 const QString PackageRepositoryString("Repository");
00041 const QString PackageIconDataString("IconData");
00042 const QString PackageState("State");
00043 
00088 class PackageManager : public QObject
00089 {
00090     Q_OBJECT
00091 
00092 public:
00096     enum ErrorCode
00097     {
00099         ErrorNone = 0,
00101         ErrorDbus,
00103         ErrorInternal,
00105         ErrorInvalidArgument,
00107         ErrorCheckUpdatesFailed,
00109         ErrorFileNotFound,
00111         ErrorInvalidFile,
00113         ErrorPackageNotUser,
00115         ErrorNoCandidate,
00117         ErrorPackageNotFound,
00119         ErrorPackageVersionNotFound,
00121         ErrorPackageNotInstalled,
00123         ErrorPackageNotCompatible,
00125         ErrorDependenciesPreventUninstall,
00127         ErrorMissingDependencies,
00129         ErrorDownloadFailed,
00131         ErrorOperationFailed,
00133         ErrorUpgradeFailed,
00135         ErrorPackageAlreadyInstalled,
00137         ErrorPackageAlreadyNewest,
00139         ErrorNewerVersionInstalled,
00141         ErrorRequiresOlderVersionOfDependency,
00143         ErrorInvalidOperation,
00145         ErrorNoOperation,
00147         ErrorNotCancelable,
00149         ErrorOperationCanceled,
00151         ErrorUnknown
00152     };
00153 
00157     PackageManager();
00158 
00164     ~PackageManager();
00165 
00169     int callTimeout;
00170 
00171 public Q_SLOTS: // METHODS from com.nokia.package_manager, unrestricted
00172 
00214     PackageManagerPendingFetchWatcher* fetchCurrentOperationData();
00215 
00229     PackageManagerPendingFetchWatcher* fetchPackages(const QString &category = "");
00230 
00245     PackageManagerPendingFetchWatcher* fetchAvailableUpdates(const QString &category = "");
00246 
00259     PackageManagerPendingFetchWatcher* fetchInstalled();
00260 
00273     PackageManagerPendingFetchWatcher* fetchPackageDataFile(const QString &filename);
00274 
00288     PackageManagerPendingFetchWatcher* fetchPackageDataRemote(const QString &packagename, const QString& version = QString());
00289 
00302     PackageManagerPendingFetchWatcher* fetchPackageDataInstalled(const QString &packagename);
00303 
00316     PackageManagerPendingFetchWatcher* fetchFilesOfInstalledPackage(const QString &packagename);
00317 
00331     PackageManagerPendingFetchWatcher* fetchPackageDependencyData(const QString &packagename);
00332     
00344     PackageManagerPendingFetchWatcher* fetchRestoreStatus();
00345     
00358     PackageManagerPendingFetchWatcher* fetchRestorablePackages();
00359 
00371     PackageManagerPendingFetchWatcher* simulateOperation(const QString &operation, const QString &packageidentifier, const QString &version, const QString &flags);
00372 
00373 public Q_SLOTS: // METHODS from com.nokia.package_manager restricted to PM UI / Install UI only
00388     PackageManagerPendingCallWatcher* ignoreUpdatePackage( const QString &packagename, const QString &version );
00389     
00405     PackageManagerPendingCallWatcher* refreshPackageCache( const QString &onlyDomain, const QString &flags );
00406 
00422     PackageManagerPendingCallWatcher* installFile( const QString &filename );
00423 
00441     PackageManagerPendingCallWatcher* install( const QString &packagename, const QString &version = QString() );
00442 
00460     PackageManagerPendingCallWatcher* upgrade( const QString &packagename, const QString &version = QString() );
00461 
00479     PackageManagerPendingCallWatcher* restore( const QString &packagename, const QString &version );
00480 
00494     PackageManagerPendingCallWatcher* ignoreRestorePackage( const QString &packagename );
00495 
00513     PackageManagerPendingCallWatcher* downloadSystemUpgrade( const QString &packagename, const QString &version = QString() );
00531     PackageManagerPendingCallWatcher* upgradeSystem( const QString &packagename, const QString &version = QString() );
00532 
00548     PackageManagerPendingCallWatcher* uninstall( const QString &packagename );
00549 
00570     PackageManagerPendingCallWatcher* upgradeAll();
00571 
00591     PackageManagerPendingCallWatcher* cancelOperation(const QString &operation, const QString &packagename, const QString &version);
00592 
00593 public Q_SLOTS: // METHODS from com.nokia.package_manager_install_ui (Operations with UI)
00611         PackageManagerPendingCallWatcher* installFileUi( const QString &filename );
00612 
00651         PackageManagerPendingCallWatcher* installPackageUi( const QString &packagename, const QString& version = "", const QString &origin = "", const QString &flags = "" );
00652 
00670         PackageManagerPendingCallWatcher* uninstallUi( const QString &packagename );
00671 
00688         PackageManagerPendingCallWatcher* upgradeAllUi();
00689 
00702         PackageManagerPendingCallWatcher* restoreUi( const QString &packagename, const QString& version = "" );
00703 
00712         void showInstallationExceptionUi( const QString &packagename );
00713 
00735         PackageManagerPendingCallWatcher* refreshPackageCacheUi( const QString &origin = "", const QString &flags = "" );
00736 
00737 public Q_SLOTS: // METHODS from com.nokia.package_manager_ui (Operations that launch PM UI)
00749         void showOperationsPageUi( const QString& operation, const QString &packageidentifier, const QString& version = "" );
00750 
00758         void showUpdatesPageUi();
00759 
00768         void showRestorePageUi();
00769 
00782         void showDetailsPageUi( const QString& type, const QString& packagename, const QString& version );
00783 
00791     void showInstalledPageUi( const QString& packageidentifier );
00792 
00793 signals: // SIGNALS from com.nokia.package_manager
00801     void operationComplete(const QString &operation, const QString &packagename, const QString &version, const QString &result, const bool need_reboot);
00802 
00810     void downloadProgress(const QString &operation, const QString &packagename, const QString &version, int already, int total);
00811 
00818     void operationStarted(const QString &operation, const QString &packagename, const QString &version);
00819 
00828     void operationProgress(const QString &operation, const QString &packagename, const QString &version, int percentage);
00829 
00837     void packageListUpdated(const bool updates_changed);
00838 
00850     void operationAborted(const QString &operation, const QString &packageidentifier, const QString &version, const QString &reason);
00851 
00858     void packageIgnored(const QString& type, const QString& packagename, const QString& version);
00859 
00860 private:
00861     PackageManagerPrivate* const d_ptr;
00862     Q_DISABLE_COPY(PackageManager)
00863     Q_DECLARE_PRIVATE(PackageManager)
00864 };
00865 
00866 #endif

Generated on Wed Jul 27 2011 11:56:43 for PackageManager by  doxygen 1.7.1