summaryrefslogtreecommitdiffstats
path: root/installerbuilder
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@nokia.com>2011-11-25 13:50:09 +0100
committerKarsten Heimrich <karsten.heimrich@nokia.com>2011-11-28 12:13:29 +0100
commit59a411d7998b8fe2236262fb2f852e89c4831fab (patch)
treeed9575b23a4618fb75e846c8acbf545a221ec6a2 /installerbuilder
parentec5df54af258095f24a8b7f1aae01276f56f42ef (diff)
Extend Settings class to store proxy settings.
Change-Id: I37589a25e294c63d5930ff9120f1af2063341df1 Reviewed-by: Niels Weber <niels.2.weber@nokia.com> Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com>
Diffstat (limited to 'installerbuilder')
-rw-r--r--installerbuilder/libinstaller/settings.cpp40
-rw-r--r--installerbuilder/libinstaller/settings.h21
2 files changed, 61 insertions, 0 deletions
diff --git a/installerbuilder/libinstaller/settings.cpp b/installerbuilder/libinstaller/settings.cpp
index 33143e2a0..cdda2a2ec 100644
--- a/installerbuilder/libinstaller/settings.cpp
+++ b/installerbuilder/libinstaller/settings.cpp
@@ -61,6 +61,10 @@ static const QLatin1String scUninstallerIniFile("UninstallerIniFile");
static const QLatin1String scRemoteRepositories("RemoteRepositories");
static const QLatin1String scSigningCertificate("SigningCertificate");
+static const QLatin1String scFtpProxy("FtpProxy");
+static const QLatin1String scHttpProxy("HttpProxy");
+static const QLatin1String scProxyType("ProxyType");
+
template <typename T>
static QSet<T> variantListToSet(const QVariantList &list)
{
@@ -466,3 +470,39 @@ QVariantHash Settings::subTitlesForPage(const QString &pageName) const
return QVariantHash();
return variant.value<QVariantHash>();
}
+
+Settings::ProxyType Settings::proxyType() const
+{
+ return Settings::ProxyType(d->m_data.value(scProxyType, Settings::NoProxy).toInt());
+}
+
+void Settings::setProxyType(Settings::ProxyType type)
+{
+ d->m_data.insert(scProxyType, type);
+}
+
+QNetworkProxy Settings::ftpProxy() const
+{
+ const QVariant variant = d->m_data.value(scFtpProxy);
+ if (variant.canConvert<QNetworkProxy>())
+ return variant.value<QNetworkProxy>();
+ return QNetworkProxy();
+}
+
+void Settings::setFtpProxy(const QNetworkProxy &proxy)
+{
+ d->m_data.insert(scFtpProxy, QVariant::fromValue(proxy));
+}
+
+QNetworkProxy Settings::httpProxy() const
+{
+ const QVariant variant = d->m_data.value(scHttpProxy);
+ if (variant.canConvert<QNetworkProxy>())
+ return variant.value<QNetworkProxy>();
+ return QNetworkProxy();
+}
+
+void Settings::setHttpProxy(const QNetworkProxy &proxy)
+{
+ d->m_data.insert(scHttpProxy, QVariant::fromValue(proxy));
+}
diff --git a/installerbuilder/libinstaller/settings.h b/installerbuilder/libinstaller/settings.h
index 80a54e48d..aa3123d8f 100644
--- a/installerbuilder/libinstaller/settings.h
+++ b/installerbuilder/libinstaller/settings.h
@@ -33,6 +33,10 @@
#include <QtCore/QSharedDataPointer>
#include <QtCore/QVariant>
+#include <QtNetwork/QNetworkProxy>
+
+Q_DECLARE_METATYPE(QNetworkProxy)
+
namespace QInstaller {
class Repository;
@@ -41,6 +45,12 @@ class INSTALLER_EXPORT Settings
Q_DECLARE_TR_FUNCTIONS(Settings)
public:
+ enum ProxyType {
+ NoProxy,
+ SystemProxy,
+ UserDefinedProxy
+ };
+
explicit Settings();
~Settings();
@@ -99,6 +109,15 @@ public:
QVariantHash titlesForPage(const QString &pageName) const;
QVariantHash subTitlesForPage(const QString &pageName) const;
+ Settings::ProxyType proxyType() const;
+ void setProxyType(Settings::ProxyType type);
+
+ QNetworkProxy ftpProxy() const;
+ void setFtpProxy(const QNetworkProxy &proxy);
+
+ QNetworkProxy httpProxy() const;
+ void setHttpProxy(const QNetworkProxy &proxy);
+
private:
class Private;
QSharedDataPointer<Private> d;
@@ -106,4 +125,6 @@ private:
}
+Q_DECLARE_METATYPE(QInstaller::Settings)
+
#endif // SETTINGS_H