QNetworkReply * Pillow::ElasticNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { // Find the first available child QNetworkAccessManager. QNetworkAccessManager* nam = NULL; foreach (QObject* child, children()) { if ((nam = qobject_cast<QNetworkAccessManager*>(child))) { if (nam->children().size() < 6) break; // Found an available one. else nam = NULL; // This one is not available. } } if (nam == NULL) { // Did not find an available manager. Spawn a new one. nam = new QNetworkAccessManager(this); if (cookieJar()) { nam->setCookieJar(cookieJar()); cookieJar()->setParent(0); } } return static_cast<NamOpener*>(nam)->doCreateRequest(op, request, outgoingData); }