summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@nokia.com>2012-06-08 18:00:55 +0200
committerTim Jenssen <tim.jenssen@nokia.com>2012-06-11 14:11:52 +0200
commitda794852fb5c482d7ee3a29f22d05baecff2e84b (patch)
tree8314e9c9ba4242618b524f9b551dbcf467334e83
parent19e0ff167411376f403bfc449dcf746e0e3c1a45 (diff)
clean up exception usage
Change-Id: I6e1fd425e9b528049f1d461eb2d66c49f70e7288 Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com>
-rw-r--r--src/libs/installer/packagemanagercore.cpp40
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp40
-rw-r--r--src/libs/installer/packagemanagercore_p.h6
3 files changed, 27 insertions, 59 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 39a8ad343..de1e4122d 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -1552,12 +1552,7 @@ bool PackageManagerCore::isPackageManager() const
*/
bool PackageManagerCore::runInstaller()
{
- try {
- d->runInstaller();
- return true;
- } catch (...) {
- return false;
- }
+ return d->runInstaller();
}
/*!
@@ -1565,12 +1560,7 @@ bool PackageManagerCore::runInstaller()
*/
bool PackageManagerCore::runUninstaller()
{
- try {
- d->runUninstaller();
- return true;
- } catch (...) {
- return false;
- }
+ return d->runUninstaller();
}
/*!
@@ -1578,12 +1568,7 @@ bool PackageManagerCore::runUninstaller()
*/
bool PackageManagerCore::runPackageUpdater()
{
- try {
- d->runPackageUpdater();
- return true;
- } catch (...) {
- return false;
- }
+ return d->runPackageUpdater();
}
/*!
@@ -1601,18 +1586,13 @@ void PackageManagerCore::languageChanged()
*/
bool PackageManagerCore::run()
{
- try {
- if (isInstaller())
- d->runInstaller();
- else if (isUninstaller())
- d->runUninstaller();
- else if (isPackageManager() || isUpdater())
- d->runPackageUpdater();
- return true;
- } catch (const Error &err) {
- qDebug() << "Caught Installer Error:" << err.message();
- return false;
- }
+ if (isInstaller())
+ return d->runInstaller();
+ else if (isUninstaller())
+ return d->runUninstaller();
+ else if (isPackageManager() || isUpdater())
+ return d->runPackageUpdater();
+ return false;
}
/*!
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index e7a267469..ccb16d971 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -1340,7 +1340,7 @@ QString PackageManagerCorePrivate::registerPath() const
return QString();
}
-void PackageManagerCorePrivate::runInstaller()
+bool PackageManagerCorePrivate::runInstaller()
{
bool adminRightsGained = false;
try {
@@ -1399,12 +1399,7 @@ void PackageManagerCorePrivate::runInstaller()
stopProcessesForUpdates(componentsToInstall);
if (m_dependsOnLocalInstallerBinary && !KDUpdater::pathIsOnLocalDevice(qApp->applicationFilePath())) {
- setStatus(PackageManagerCore::Failure);
- ProgressCoordinator::instance()->emitLabelAndDetailTextChanged(tr("\nInstallation aborted!"));
- MessageBoxHandler::critical(MessageBoxHandler::currentBestSuitParent(),
- QLatin1String("installationError"), tr("Error"), tr("It is not possible to install from network location"));
- emit installationFinished();
- throw;
+ throw Error(tr("It is not possible to install from network location"));
}
if (!adminRightsGained) {
@@ -1509,20 +1504,18 @@ void PackageManagerCorePrivate::runInstaller()
if (adminRightsGained)
m_core->dropAdminRights();
emit installationFinished();
-
- throw;
+ return false;
}
+ return true;
}
-void PackageManagerCorePrivate::runPackageUpdater()
+bool PackageManagerCorePrivate::runPackageUpdater()
{
bool adminRightsGained = false;
+ if (m_completeUninstall) {
+ return runUninstaller();
+ }
try {
- if (m_completeUninstall) {
- runUninstaller();
- return;
- }
-
setStatus(PackageManagerCore::Running);
emit installationStarted(); //resets also the ProgressCoordninator
@@ -1541,12 +1534,7 @@ void PackageManagerCorePrivate::runPackageUpdater()
stopProcessesForUpdates(componentsToInstall);
if (m_dependsOnLocalInstallerBinary && !KDUpdater::pathIsOnLocalDevice(qApp->applicationFilePath())) {
- setStatus(PackageManagerCore::Failure);
- ProgressCoordinator::instance()->emitLabelAndDetailTextChanged(tr("\nInstallation aborted!"));
- MessageBoxHandler::critical(MessageBoxHandler::currentBestSuitParent(),
- QLatin1String("installationError"), tr("Error"), tr("It is not possible to install from network location"));
- emit installationFinished();
- throw;
+ throw Error(tr("It is not possible to run that opertion from a network location"));
}
bool updateAdminRights = false;
@@ -1681,12 +1669,12 @@ void PackageManagerCorePrivate::runPackageUpdater()
if (adminRightsGained)
m_core->dropAdminRights();
emit installationFinished();
-
- throw;
+ return false;
}
+ return true;
}
-void PackageManagerCorePrivate::runUninstaller()
+bool PackageManagerCorePrivate::runUninstaller()
{
bool adminRightsGained = false;
try {
@@ -1755,9 +1743,9 @@ void PackageManagerCorePrivate::runUninstaller()
if (adminRightsGained)
m_core->dropAdminRights();
emit uninstallationFinished();
-
- throw;
+ return false;
}
+ return true;
}
void PackageManagerCorePrivate::installComponent(Component *component, double progressOperationSize,
diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h
index ecf2f38d4..d2d97e115 100644
--- a/src/libs/installer/packagemanagercore_p.h
+++ b/src/libs/installer/packagemanagercore_p.h
@@ -115,16 +115,16 @@ public:
bool appendComponentToInstall(Component *components);
QString installReason(Component *component);
- void runInstaller();
+ bool runInstaller();
bool isInstaller() const;
- void runUninstaller();
+ bool runUninstaller();
bool isUninstaller() const;
void runUpdater();
bool isUpdater() const;
- void runPackageUpdater();
+ bool runPackageUpdater();
bool isPackageManager() const;
QString replaceVariables(const QString &str) const;