void EWAFaviconLoader::run() { QUrl url( m_strTargetUrl ); QNetworkRequest myRequest( url ); myRequest.setRawHeader( "User-Agent", m_strUserAgent.toUtf8() ); QNetworkAccessManager networkMgr; connect( &networkMgr, SIGNAL( finished(QNetworkReply*) ), this, SLOT( slotRecived(QNetworkReply*) ) ); networkMgr.get( myRequest ); exec(); }
/*! createRequest */ QNetworkReply *NmViewerViewNetManager::createRequest( Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { NM_FUNCTION; QNetworkRequest myRequest(request); // Set request attribute to prefer cachevar const QVariant cacheControl((int)QNetworkRequest::PreferCache); myRequest.setAttribute(QNetworkRequest::CacheLoadControlAttribute, cacheControl); const QUrl requestUrl = myRequest.url(); // Check whether request is for embedded image if (mMessageView&&mMessageView->webView()&&op==QNetworkAccessManager::GetOperation && requestUrl.scheme()==NmViewerViewNetManagerScheme) { QString id = requestUrl.path(); NmId partId; bool isFetched(false); NmMessage *message = mMessageView->message(); if (message) { QVariant data = mMessageView->webView()->loadResource( QTextDocument::ImageResource, requestUrl, partId, isFetched); NmViewerViewNetReply* reply(NULL); if (isFetched) { reply = new NmViewerViewNetReply(data, mUiEngine); } else { const NmMessageEnvelope &env = message->envelope(); reply = new NmViewerViewNetReply(data, mUiEngine, env.mailboxId(), env.folderId(), env.messageId(), partId); } reply->setOriginalRequest(myRequest); return reply; } } // If request is not for embedded image, forward to base class return QNetworkAccessManager::createRequest(op, myRequest, outgoingData); }
/** * \brief Test function * * Sets a message and send it over USB * Get the ACK sent back */ int main() { /* Opens the connection in non blocking mode */ #ifdef _WIN32 fd = open("COM7", O_RDWR | O_NOCTTY); #else fd = open("/dev/ttyACM0", O_RDWR | O_NOCTTY); #endif /* Check for error */ if (fd < 0) { fprintf(stderr, "[TEST FAILED]: Unable to open connection\n"); return EXIT_FAILURE; } /* Sets blocking mode */ #ifdef _WIN32 //To make blocking: unsigned long off = 0; if (ioctlsocket(fd, FIONBIO, &off) != 0) { /* Handle failure. */ } #else fcntl(fd, F_SETFL, 0); #endif /* clear the set */ FD_ZERO(&set); /* add our file descriptor to the set */ FD_SET(fd, &set); /* Defines ACK thread */ std::thread ack_thread(waitForACK); /* Creates a device shape */ DeviceShape ds(9, 9, 9); ds.on(4, 4, 4); /* Turns on one LED */ for (int i = 0; i < 9 ; i++) { ds.on(i,i,8-i); ds.on(i,i,i); ds.on(i,8-i,i); ds.on(8-i, i, i); } /* Creates a Request */ Request myRequest(1, 92, SET_LEDSTATS); /* Encodes data into the buffers created by the Request */ uint8_t *ledBuffer = new uint8_t [ds.getSizeInBytes()]; ds.toArray(ledBuffer); myRequest.encode(ledBuffer); /* Prints the message */ #if DEBUG std::cout << "My Request : " << myRequest.toStringDebug() << "\n"; #endif // uint8_t* reqLinear = new uint8_t[SIZE_REQUEST]; // reqLinear={0}; // /* Resets the connection */ // RequestMessage resetConnection(1, RESET); // resetConnection.encodeCrc(); // resetConnection.getListBuffer()[0].toArray(reqLinear); // #if DEBUG // std::cout << "Reset Connection : " << resetConnection.toStringDebug() << "\n"; // #endif /* Sents it over USB */ // write(fd, reqLinear, SIZE_REQUEST); // message_lock.lock(); // message_queue.push(buffLinear); // message_lock.unlock(); uint8_t* buffLinear = new uint8_t[SIZE_BUFFER](); /* Sends the Request */ for (int i = 0; i<myRequest.NbBuffers(); i++) { /* Prints */ #if DEBUG std::cout << "My Request buffer " << i << " : " << myRequest.getListBuffer()[i].toStringDebug(i) << "\n"; #endif /* Sends it over USB */ myRequest.getListBuffer()[i].toArray(buffLinear); #if DEBUG printBuffer("BUFFER ", buffLinear, SIZE_BUFFER); #endif /* Send it over USB */ if (write(fd, buffLinear, SIZE_BUFFER) == -1) std::cout << "error while sending buffer number " << i << " over USB \n"; message_lock.lock(); message_queue.push(buffLinear); message_lock.unlock(); } std::cout << "[TEST PASSED]\n"; ack_thread.detach(); close(fd); delete [] buffLinear; // delete [] reqLinear; delete [] ledBuffer; return 0; }