diff options
author | Adrien BUSTANY <madcat@mymadcat.com> | 2008-06-13 01:15:46 +0200 |
---|---|---|
committer | Adrien BUSTANY <madcat@mymadcat.com> | 2008-06-13 01:15:46 +0200 |
commit | 2bb004c03ab1b1b65273db4594de4b0c0587e569 (patch) | |
tree | 851a98de11f9e6886598ea73f97a7c7e2213b325 | |
parent | d2b57fa7891de096b50db4e0a175427bcf255870 (diff) |
Modified the ErrorCode signal so that it sends an enumered value (new file Error.h)
-rw-r--r-- | lib/Error.h | 74 | ||||
-rw-r--r-- | lib/Exit.h | 4 | ||||
-rw-r--r-- | lib/Transaction.cpp | 6 | ||||
-rw-r--r-- | lib/Transaction.h | 10 | ||||
-rw-r--r-- | lib/lib.pro | 2 |
5 files changed, 90 insertions, 6 deletions
diff --git a/lib/Error.h b/lib/Error.h new file mode 100644 index 0000000..c25a0a0 --- /dev/null +++ b/lib/Error.h @@ -0,0 +1,74 @@ +/* +* Copyright (C) 2007 Adrien Bustany <madcat@mymadcat.com> +* +* Licensed under the GNU General Public License Version 2 +* +* 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 See MA 02111-1307, USA. +* +*/ + +#ifndef ERROR_H +#define ERROR_H + +#include <QtCore> + +#include "Enum.h" + +namespace PackageKit { + +class Error : public QObject { + + Q_OBJECT + Q_ENUMS(Value) + +public: +typedef enum { + Oom, + NoNetwork, + NotSupported, + InternalError, + GpgFailure, + PackageIdInvalid, + PackageNotInstalled, + PackageNotFound, + PackageAlreadyInstalled, + PackageDownloadFailed, + GroupNotFound, + GroupListInvalid, + DepResolutionFailed, + FilterInvalid, + CreateThreadFailed, + TransactionError, + TransactionCancelled, + NoCache, + RepoNotFound, + CannotRemoveSystemPackage, + ProcessKill, + FailedInitialization, + FailedFinalise, + FailedConfigParsing, + CannotCancel, + CannotGetLock, + NoPackagesToUpdate, + CannotWriteRepoConfig, + LocalInstallFailed, + BadGpgSignature, + MissingGpgSignature, + CannotInstallSourcePackage, + RepoConfigurationError, + NoLicenseAgreement, + FileConflicts, + RepoNotAvailable, + InvalidPackageFile, + PackageInstallBlocked, + PackageCorrupt, + Unknown +} Value; + +}; + +} // End namespace PackageKit + +#endif @@ -27,7 +27,9 @@ public: typedef enum { Success, Failed, - Quit, + Cancelled, + KeyRequired, + EulaRequired, Kill, Unknown } Value; diff --git a/lib/Transaction.cpp b/lib/Transaction.cpp index ac25ace..a832973 100644 --- a/lib/Transaction.cpp +++ b/lib/Transaction.cpp @@ -41,7 +41,7 @@ void Transaction::renewTid() { connect(proxy, SIGNAL(UpdateDetail(const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&)), this, SIGNAL(UpdateDetail(const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&))); connect(proxy, SIGNAL(RequireRestart(const QString&, const QString&)), this, SIGNAL(RequireRestart(const QString&, const QString&))); connect(proxy, SIGNAL(AllowCancel(bool)), this, SIGNAL(AllowCancel(bool))); - connect(proxy, SIGNAL(ErrorCode(const QString&, const QString&)), this, SIGNAL(ErrorCode(const QString&, const QString&))); + connect(proxy, SIGNAL(ErrorCode(const QString&, const QString&)), this, SLOT(ErrorCode_cb(const QString&, const QString&))); connect(proxy, SIGNAL(Message(const QString&, const QString&)), this, SIGNAL(Message(const QString&, const QString&))); connect(proxy, SIGNAL(StatusChanged(const QString&)), this, SLOT(StatusChanged_cb(const QString&))); connect(proxy, SIGNAL(RepoDetail(const QString&, const QString&, bool)), this, SIGNAL(RepoDetail(const QString&, const QString&, bool))); @@ -290,6 +290,10 @@ void Transaction::Finished_cb(const QString& exit, uint runtime) { emit Finished((Exit::Value)EnumFromString<Exit>(exit), runtime); } +void Transaction::ErrorCode_cb(const QString &code, const QString &details) { + emit ErrorCode((Error::Value)EnumFromString<Error>(code), details); +} + void Transaction::StatusChanged_cb(const QString &status) { emit StatusChanged((Status::Value)EnumFromString<Status>(status)); } diff --git a/lib/Transaction.h b/lib/Transaction.h index c4cc830..48218e8 100644 --- a/lib/Transaction.h +++ b/lib/Transaction.h @@ -16,11 +16,14 @@ #include "TransactionProxy.h" #include "Package.h" +#include "Provides.h" +#include "SignatureType.h" + +// Enums #include "Exit.h" #include "Role.h" #include "Status.h" -#include "Provides.h" -#include "SignatureType.h" +#include "Error.h" namespace PackageKit { @@ -86,7 +89,7 @@ signals: void UpdateDetail(const QString &package_id, const QString &updates, const QString &obsoletes, const QString &vendor_url, const QString &bugzilla_url, const QString &cve_url, const QString &restart, const QString &update_text); void RequireRestart(const QString&, const QString&); void AllowCancel(bool allow_cancel); - void ErrorCode(const QString &code, const QString &details); + void ErrorCode(Error::Value, const QString &details); void Message(const QString &message, const QString &details); void StatusChanged(Status::Value v); void RepoDetail(const QString &repo_id, const QString &details, bool enabled); @@ -100,6 +103,7 @@ private slots: void Details_cb(const QString &package_id, const QString &license, const QString &group, const QString &detail, const QString &url, qulonglong size); void Files_cb(const QString &pid, const QString &file_list); void Finished_cb(const QString& exit, uint runtime); + void ErrorCode_cb(const QString &code, const QString &details); void StatusChanged_cb(const QString& status); void Transaction_cb(const QString &tid, const QString ×pec, bool succeeded, const QString &role, uint duration, const QString& data); void EulaRequired_cb(const QString &id, const QString &package_id, const QString &vendor_name, const QString &agreement); diff --git a/lib/lib.pro b/lib/lib.pro index 0fe197a..30b6108 100644 --- a/lib/lib.pro +++ b/lib/lib.pro @@ -12,5 +12,5 @@ LIBS += -lpolkit -lpolkit-dbus QT += dbus # Input -HEADERS += CentralProxy.h constants.h Status.h Exit.h Role.h Package.h Restart.h Daemon.h Transaction.h TransactionProxy.h Provides.h SignatureType.h PolkitClient.h +HEADERS += CentralProxy.h constants.h Status.h Exit.h Role.h Package.h Restart.h Daemon.h Transaction.h TransactionProxy.h Provides.h SignatureType.h PolkitClient.h Error.h SOURCES += CentralProxy.cpp Package.cpp Daemon.cpp TransactionProxy.cpp Transaction.cpp PolkitClient.cpp |