summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer')
-rw-r--r--src/libs/installer/packagemanagercore.cpp7
-rw-r--r--src/libs/installer/packagemanagercore.h4
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp1
-rw-r--r--src/libs/installer/packagemanagercoredata.cpp7
4 files changed, 14 insertions, 5 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 0a5eec513..02f12bd90 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -1027,14 +1027,17 @@ PackageManagerCore::PackageManagerCore()
and \a mode to set the server side authorization key.
*/
PackageManagerCore::PackageManagerCore(qint64 magicmaker, const QList<OperationBlob> &operations,
- const QString &socketName, const QString &key, Protocol::Mode mode)
+ const QString &socketName, const QString &key, Protocol::Mode mode,
+ const QHash<QString, QString> &params, const bool commandLineInstance)
: d(new PackageManagerCorePrivate(this, magicmaker, operations))
{
+ setCommandLineInstance(commandLineInstance);
Repository::registerMetaType(); // register, cause we stream the type as QVariant
qRegisterMetaType<QInstaller::PackageManagerCore::Status>("QInstaller::PackageManagerCore::Status");
qRegisterMetaType<QInstaller::PackageManagerCore::WizardPage>("QInstaller::PackageManagerCore::WizardPage");
- d->initialize(QHash<QString, QString>());
+ d->initialize(params);
+
// Creates and initializes a remote client, makes us get admin rights for QFile, QSettings
// and QProcess operations. Init needs to called to set the server side authorization key.
if (!d->isUpdater()) {
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h
index 979ff50e6..eb4220072 100644
--- a/src/libs/installer/packagemanagercore.h
+++ b/src/libs/installer/packagemanagercore.h
@@ -62,7 +62,9 @@ public:
PackageManagerCore(qint64 magicmaker, const QList<OperationBlob> &ops,
const QString &socketName = QString(),
const QString &key = QLatin1String(Protocol::DefaultAuthorizationKey),
- Protocol::Mode mode = Protocol::Mode::Production);
+ Protocol::Mode mode = Protocol::Mode::Production,
+ const QHash<QString, QString> &params = QHash<QString, QString>(),
+ const bool commandLineInstance = false);
~PackageManagerCore();
// status
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index 54eace77a..dba96c222 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -592,7 +592,6 @@ void PackageManagerCorePrivate::initialize(const QHash<QString, QString> &params
#endif
}
processFilesForDelayedDeletion();
- m_data.setDynamicPredefinedVariables();
disconnect(this, &PackageManagerCorePrivate::installationStarted,
ProgressCoordinator::instance(), &ProgressCoordinator::reset);
diff --git a/src/libs/installer/packagemanagercoredata.cpp b/src/libs/installer/packagemanagercoredata.cpp
index b985487c9..df6d96a55 100644
--- a/src/libs/installer/packagemanagercoredata.cpp
+++ b/src/libs/installer/packagemanagercoredata.cpp
@@ -46,7 +46,6 @@ namespace QInstaller
PackageManagerCoreData::PackageManagerCoreData(const QHash<QString, QString> &variables)
{
- m_variables = variables;
setDynamicPredefinedVariables();
// Set some common variables that may used e.g. as placeholder in some of the settings variables or
@@ -86,6 +85,12 @@ PackageManagerCoreData::PackageManagerCoreData(const QHash<QString, QString> &va
m_variables.insert(scTargetDir, replaceVariables(m_settings.targetDir()));
m_variables.insert(scRemoveTargetDir, replaceVariables(m_settings.removeTargetDir()));
+
+ // Iterate over user defined parameters. If those are found, add to table or
+ // replace existing values.
+ QHash<QString, QString>::const_iterator it;
+ for (it = variables.begin(); it != variables.end(); ++it)
+ m_variables.insert(it.key(), it.value());
}
void PackageManagerCoreData::clear()