static PyObject *meth_QNetworkProxyFactory_queryProxy(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds) { PyObject *sipParseErr = NULL; PyObject *sipOrigSelf = sipSelf; { const QNetworkProxyQuery& a0def = QNetworkProxyQuery(); const QNetworkProxyQuery* a0 = &a0def; QNetworkProxyFactory *sipCpp; static const char *sipKwdList[] = { sipName_query, }; if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, NULL, "B|J9", &sipSelf, sipType_QNetworkProxyFactory, &sipCpp, sipType_QNetworkProxyQuery, &a0)) { QList<QNetworkProxy>*sipRes; if (!sipOrigSelf) { sipAbstractMethod(sipName_QNetworkProxyFactory, sipName_queryProxy); return NULL; } Py_BEGIN_ALLOW_THREADS sipRes = new QList<QNetworkProxy>(sipCpp->queryProxy(*a0)); Py_END_ALLOW_THREADS return sipConvertFromNewType(sipRes,sipType_QList_0100QNetworkProxy,NULL); } }
QList<QNetworkProxy> QGlobalNetworkProxy::proxyForQuery(const QNetworkProxyQuery &query) { QMutexLocker locker(&mutex); QList<QNetworkProxy> result; if (!applicationLevelProxyFactory) { if (applicationLevelProxy && applicationLevelProxy->type() != QNetworkProxy::DefaultProxy) result << *applicationLevelProxy; else result << QNetworkProxy(QNetworkProxy::NoProxy); return result; } // we have a factory result = applicationLevelProxyFactory->queryProxy(query); if (result.isEmpty()) { qWarning("QNetworkProxyFactory: factory %p has returned an empty result set", applicationLevelProxyFactory); result << QNetworkProxy(QNetworkProxy::NoProxy); } return result; }
QList<QNetworkProxy> QGlobalNetworkProxy::proxyForQuery(const QNetworkProxyQuery &query) { QMutexLocker locker(&mutex); QList<QNetworkProxy> result; // don't look for proxies for a local connection QHostAddress parsed; QString hostname = query.url().host(); if (hostname == QLatin1String("localhost") || hostname.startsWith(QLatin1String("localhost.")) || (parsed.setAddress(hostname) && (parsed == QHostAddress::LocalHost || parsed == QHostAddress::LocalHostIPv6))) { result << QNetworkProxy(QNetworkProxy::NoProxy); return result; } if (!applicationLevelProxyFactory) { if (applicationLevelProxy && applicationLevelProxy->type() != QNetworkProxy::DefaultProxy) result << *applicationLevelProxy; else result << QNetworkProxy(QNetworkProxy::NoProxy); return result; } // we have a factory result = applicationLevelProxyFactory->queryProxy(query); if (result.isEmpty()) { qWarning("QNetworkProxyFactory: factory %p has returned an empty result set", applicationLevelProxyFactory); result << QNetworkProxy(QNetworkProxy::NoProxy); } return result; }