From: Shane Kearns Date: Tue, 28 Feb 2012 11:57:12 +0000 (+0000) Subject: Add debug stream operator for QNetworkProxy X-Git-Tag: qt-v5.0.0-alpha1~437 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3650ce5a85f560114de01d61d8bcde03316e9fdc;p=profile%2Fivi%2Fqtbase.git Add debug stream operator for QNetworkProxy Change-Id: Ib8e7ba041ede33dc9c751432e39be2d6a9f4662d Reviewed-by: Thiago Macieira --- diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp index 0281eaf..feef74e 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 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 8f961c4..805f5cd 100644 --- a/src/network/kernel/qnetworkproxy.h +++ b/src/network/kernel/qnetworkproxy.h @@ -203,6 +203,10 @@ public: static QList 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