summaryrefslogtreecommitdiffstats
path: root/src/sdk/commandlineinterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/commandlineinterface.cpp')
-rw-r--r--src/sdk/commandlineinterface.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/sdk/commandlineinterface.cpp b/src/sdk/commandlineinterface.cpp
index de9332b35..f64f41834 100644
--- a/src/sdk/commandlineinterface.cpp
+++ b/src/sdk/commandlineinterface.cpp
@@ -193,6 +193,23 @@ int CommandLineInterface::uninstallPackages()
}
}
+int CommandLineInterface::removeInstallation()
+{
+ if (!initialize())
+ return EXIT_FAILURE;
+ if (m_core->isInstaller()) {
+ qCWarning(QInstaller::lcInstallerInstallLog) << "Cannot uninstall packages with installer.";
+ return EXIT_FAILURE;
+ }
+ m_core->setUninstaller();
+ try {
+ return m_core->removeInstallationSilently() ? EXIT_SUCCESS : EXIT_FAILURE;
+ } catch (const QInstaller::Error &err) {
+ qCCritical(QInstaller::lcInstallerInstallLog) << err.message();
+ return EXIT_FAILURE;
+ }
+}
+
bool CommandLineInterface::checkLicense()
{
const ProductKeyCheck *const productKeyCheck = ProductKeyCheck::instance();