Qnx: Add BlackBerry runtime management support

Add support for managing user BlackBerry runtime configurations.

This does not handle adding manual runtimes yet, but only detects
runtimes from the NDK directories of the available API levels.

The BlackBerry NDK should provide a better way to detect installed
runtimes (e.g xml installation files) in order to improve
the BlackBerry runtime managemnt in Qt Creator.

Change-Id: I4f139d52352f903a27dfe4175d12b016b4ee25a9
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
This commit is contained in:
El Mehdi Fekari
2014-02-13 11:16:45 +01:00
committed by Mehdi Fekari
parent b840a2436f
commit aa8786fb2e
25 changed files with 1030 additions and 339 deletions

View File

@@ -31,7 +31,7 @@
#include "blackberryinstallwizardpages.h"
#include "blackberryconfigurationmanager.h"
#include "blackberryconfiguration.h"
#include "blackberryapilevelconfiguration.h"
#include "ui_blackberryinstallwizardoptionpage.h"
#include "ui_blackberryinstallwizardtargetpage.h"
@@ -482,7 +482,7 @@ void BlackBerryInstallWizardProcessPage::processTarget()
// deactivate target if activated before uninstalling
if (m_data.mode == BlackBerryInstallerDataHandler::UninstallMode) {
foreach (BlackBerryConfiguration *config, BlackBerryConfigurationManager::instance().configurations()) {
foreach (BlackBerryApiLevelConfiguration *config, BlackBerryConfigurationManager::instance().apiLevels()) {
if (m_data.target.contains((config->targetName())) && config->isActive()) {
config->deactivate();
break;
@@ -519,11 +519,12 @@ void BlackBerryInstallWizardFinalPage::initializePage()
if (m_data.mode == BlackBerryInstallerDataHandler::ManuallMode) {
BlackBerryConfigurationManager &configManager = BlackBerryConfigurationManager::instance();
BlackBerryConfiguration *config = configManager.configurationFromEnvFile(Utils::FileName::fromString(m_data.ndkPath));
BlackBerryApiLevelConfiguration *config =
configManager.apiLevelFromEnvFile(Utils::FileName::fromString(m_data.ndkPath));
if (!config) {
config = new BlackBerryConfiguration(Utils::FileName::fromString(m_data.ndkPath));
if (!configManager.addConfiguration(config)) {
config = new BlackBerryApiLevelConfiguration(Utils::FileName::fromString(m_data.ndkPath));
if (!configManager.addApiLevel(config)) {
delete config;
// TODO: more explicit error message!
label->setText(tr("An error has occurred while adding target from:\n %1").arg(m_data.ndkPath));