summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane Kearns <ext-shane.2.kearns@nokia.com>2012-02-28 11:57:12 +0000
committerQt by Nokia <qt-info@nokia.com>2012-03-08 23:52:34 +0100
commit3650ce5a85f560114de01d61d8bcde03316e9fdc (patch)
tree8fde1510fb90c5d16f4df7f1561fbc74406175cd
parent3c47b52bd37488d41a3ad068de7976c838b7d63c (diff)
Add debug stream operator for QNetworkProxy
Change-Id: Ib8e7ba041ede33dc9c751432e39be2d6a9f4662d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/network/kernel/qnetworkproxy.cpp47
-rw-r--r--src/network/kernel/qnetworkproxy.h4
2 files changed, 51 insertions, 0 deletions
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index 0281eaf48b..feef74e737 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -224,8 +224,10 @@
#include "private/qsocks5socketengine_p.h"
#include "private/qhttpsocketengine_p.h"
#include "qauthenticator.h"
+#include "qdebug.h"
#include "qhash.h"
#include "qmutex.h"
+#include "qstringlist.h"
#include "qurl.h"
#ifndef QT_NO_BEARERMANAGEMENT
@@ -1508,6 +1510,51 @@ QList<QNetworkProxy> QNetworkProxyFactory::proxyForQuery(const QNetworkProxyQuer
return globalNetworkProxy()->proxyForQuery(query);
}
+#ifndef QT_NO_DEBUG_STREAM
+QDebug operator<<(QDebug debug, const QNetworkProxy &proxy)
+{
+ QNetworkProxy::ProxyType type = proxy.type();
+ switch (type) {
+ case QNetworkProxy::NoProxy:
+ debug << "NoProxy ";
+ break;
+ case QNetworkProxy::DefaultProxy:
+ debug << "DefaultProxy ";
+ break;
+ case QNetworkProxy::Socks5Proxy:
+ debug << "Socks5Proxy ";
+ break;
+ case QNetworkProxy::HttpProxy:
+ debug << "HttpProxy ";
+ break;
+ case QNetworkProxy::HttpCachingProxy:
+ debug << "HttpCachingProxy ";
+ break;
+ case QNetworkProxy::FtpCachingProxy:
+ debug << "FtpCachingProxy ";
+ break;
+ default:
+ debug << "Unknown proxy " << int(type);
+ break;
+ }
+ debug << "\"" << proxy.hostName() << ":" << proxy.port() << "\" ";
+ QNetworkProxy::Capabilities caps = proxy.capabilities();
+ QStringList scaps;
+ if (caps & QNetworkProxy::TunnelingCapability)
+ scaps << QStringLiteral("Tunnel");
+ if (caps & QNetworkProxy::ListeningCapability)
+ scaps << QStringLiteral("Listen");
+ if (caps & QNetworkProxy::UdpTunnelingCapability)
+ scaps << QStringLiteral("UDP");
+ if (caps & QNetworkProxy::CachingCapability)
+ scaps << QStringLiteral("Caching");
+ if (caps & QNetworkProxy::HostNameLookupCapability)
+ scaps << QStringLiteral("NameLookup");
+ debug << "[" << scaps.join(QStringLiteral(" ")) << "]";
+ return debug;
+}
+#endif
+
QT_END_NAMESPACE
#endif // QT_NO_NETWORKPROXY
diff --git a/src/network/kernel/qnetworkproxy.h b/src/network/kernel/qnetworkproxy.h
index 8f961c43ac..805f5cdb5c 100644
--- a/src/network/kernel/qnetworkproxy.h
+++ b/src/network/kernel/qnetworkproxy.h
@@ -203,6 +203,10 @@ public:
static QList<QNetworkProxy> systemProxyForQuery(const QNetworkProxyQuery &query = QNetworkProxyQuery());
};
+#ifndef QT_NO_DEBUG_STREAM
+Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QNetworkProxy &proxy);
+#endif
+
QT_END_NAMESPACE
QT_END_HEADER