summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien BUSTANY <madcat@mymadcat.com>2008-06-13 01:15:46 +0200
committerAdrien BUSTANY <madcat@mymadcat.com>2008-06-13 01:15:46 +0200
commit2bb004c03ab1b1b65273db4594de4b0c0587e569 (patch)
tree851a98de11f9e6886598ea73f97a7c7e2213b325
parentd2b57fa7891de096b50db4e0a175427bcf255870 (diff)
Modified the ErrorCode signal so that it sends an enumered value (new file Error.h)
-rw-r--r--lib/Error.h74
-rw-r--r--lib/Exit.h4
-rw-r--r--lib/Transaction.cpp6
-rw-r--r--lib/Transaction.h10
-rw-r--r--lib/lib.pro2
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
diff --git a/lib/Exit.h b/lib/Exit.h
index 52144e3..3e0c9d5 100644
--- a/lib/Exit.h
+++ b/lib/Exit.h
@@ -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 &timespec, 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