summaryrefslogtreecommitdiffstats
path: root/src/network/bearer/qnetworksession.h
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/network/bearer/qnetworksession.h
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/network/bearer/qnetworksession.h')
-rw-r--r--src/network/bearer/qnetworksession.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h
index 21d568ca13..d72fe0e759 100644
--- a/src/network/bearer/qnetworksession.h
+++ b/src/network/bearer/qnetworksession.h
@@ -83,6 +83,13 @@ public:
InvalidConfigurationError
};
+ enum UsagePolicy {
+ NoPolicy = 0,
+ NoBackgroundTrafficPolicy = 1
+ };
+
+ Q_DECLARE_FLAGS(UsagePolicies, UsagePolicy)
+
explicit QNetworkSession(const QNetworkConfiguration &connConfig, QObject *parent = 0);
virtual ~QNetworkSession();
@@ -101,7 +108,9 @@ public:
quint64 bytesWritten() const;
quint64 bytesReceived() const;
quint64 activeTime() const;
-
+
+ QNetworkSession::UsagePolicies usagePolicies() const;
+
bool waitForOpened(int msecs = 30000);
public Q_SLOTS:
@@ -122,6 +131,7 @@ Q_SIGNALS:
void error(QNetworkSession::SessionError);
void preferredConfigurationChanged(const QNetworkConfiguration &config, bool isSeamless);
void newConfigurationActivated();
+ void usagePoliciesChanged(QNetworkSession::UsagePolicies);
protected:
virtual void connectNotify(const char *signal);
@@ -136,6 +146,7 @@ private:
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QNetworkSession::State)
Q_DECLARE_METATYPE(QNetworkSession::SessionError)
+Q_DECLARE_METATYPE(QNetworkSession::UsagePolicies)
QT_END_HEADER