summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorShane Kearns <ext-shane.2.kearns@nokia.com>2012-04-04 18:11:42 +0100
committerQt by Nokia <qt-info@nokia.com>2012-04-11 22:19:21 +0200
commit6957b8d1ede105c88c22045685e3b9ce845c3c0c (patch)
treefb8f97b036d76c211b47a0d4cf4b9670752be2a0 /src/plugins
parentad73c3505a088260541143e1549d94d35e4bd8f6 (diff)
Define usagePolicies API in QNetworkSession
This allows the system to publish usage restrictions to applications related to the network in use. Currently there is only one restriction defined: NoBackgroundTrafficPolicy, which means that non user initiated traffic should be avoided (e.g. background downloads). For example this policy could be applied to save battery or data transfer charges. Change-Id: I49e26c0f3650d2b92f4ec51981aae9435b717b49 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/bearer/qnetworksession_impl.cpp13
-rw-r--r--src/plugins/bearer/qnetworksession_impl.h6
2 files changed, 18 insertions, 1 deletions
diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp
index 68d6007bdc..31cea0bfc3 100644
--- a/src/plugins/bearer/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/qnetworksession_impl.cpp
@@ -293,6 +293,19 @@ quint64 QNetworkSessionPrivateImpl::activeTime() const
return Q_UINT64_C(0);
}
+QNetworkSession::UsagePolicies QNetworkSessionPrivateImpl::usagePolicies() const
+{
+ return currentPolicies;
+}
+
+void QNetworkSessionPrivateImpl::setUsagePolicies(QNetworkSession::UsagePolicies newPolicies)
+{
+ if (newPolicies != currentPolicies) {
+ currentPolicies = newPolicies;
+ emit usagePoliciesChanged(currentPolicies);
+ }
+}
+
void QNetworkSessionPrivateImpl::updateStateFromServiceNetwork()
{
QNetworkSession::State oldState = state;
diff --git a/src/plugins/bearer/qnetworksession_impl.h b/src/plugins/bearer/qnetworksession_impl.h
index 7e48ec3a9f..babc59b420 100644
--- a/src/plugins/bearer/qnetworksession_impl.h
+++ b/src/plugins/bearer/qnetworksession_impl.h
@@ -70,7 +70,7 @@ class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate
public:
QNetworkSessionPrivateImpl()
- : startTime(0), sessionTimeout(-1)
+ : engine(0), startTime(0), lastError(QNetworkSession::UnknownSessionError), sessionTimeout(-1), currentPolicies(QNetworkSession::NoPolicy), opened(false)
{}
~QNetworkSessionPrivateImpl()
{}
@@ -102,6 +102,9 @@ public:
quint64 bytesReceived() const;
quint64 activeTime() const;
+ QNetworkSession::UsagePolicies usagePolicies() const;
+ void setUsagePolicies(QNetworkSession::UsagePolicies);
+
private Q_SLOTS:
void networkConfigurationsChanged();
void configurationChanged(QNetworkConfigurationPrivatePointer config);
@@ -121,6 +124,7 @@ private:
QNetworkSession::SessionError lastError;
int sessionTimeout;
+ QNetworkSession::UsagePolicies currentPolicies;
bool opened;
};