QUrl Core::MakeURL (QString url) { if (url.isEmpty ()) return QUrl (); url = url.trimmed (); if (url == "localhost") return QUrl ("http://localhost"); if (url.startsWith ('!')) { HandleSearchRequest (url); return QUrl (); } QHostAddress testAddress; bool success = testAddress.setAddress (url); if (success) { QUrl result; result.setHost (url); result.setScheme ("http://"); return result; } // If the url without percent signs and two following characters is // a valid url (it should not be percent-encoded), then treat source // url as percent-encoded, otherwise treat as not percent-encoded. QString withoutPercent = url; withoutPercent.remove (QRegExp ("%%??", Qt::CaseInsensitive, QRegExp::Wildcard)); QUrl testUrl (withoutPercent); QUrl result; if (testUrl.toString () == withoutPercent) result = QUrl::fromEncoded (url.toUtf8 ()); else result = QUrl (url); if (result.scheme ().isEmpty ()) { if (!url.count (' ') && url.count ('.')) result = QUrl (QString ("http://") + url); else { url.replace ('+', "%2B"); url.replace (' ', '+'); QString urlStr = QString ("http://www.google.com/search?q=%2" "&client=leechcraft_poshuku" "&ie=utf-8" "&rls=org.leechcraft:%1") .arg (QLocale::system ().name ().replace ('_', '-')) .arg (url); result = QUrl::fromEncoded (urlStr.toUtf8 ()); } } return result; }
void * TCPComm(void* lpParam) #endif { SearchCommInfo CommInfo = *((SearchCommInfo*)lpParam); //ShowMessage("TCP connection from client with port: %u\n", htons(CommInfo.port)); CTCPRequestPacket* PTCPRequest = new CTCPRequestPacket(&CommInfo.socket); if (PTCPRequest->ReceiveFromSocket() == 0) { delete PTCPRequest; return 0; } //PrintPacket((int8*)PTCPRequest->GetData(), PTCPRequest->GetSize()); ShowMessage("= = = = = = = \nType: %u Size: %u \n",PTCPRequest->GetPacketType(),PTCPRequest->GetSize()); switch(PTCPRequest->GetPacketType()) { case TCP_SEARCH: case TCP_SEARCH_ALL: { ShowMessage("Search \n"); HandleSearchRequest(PTCPRequest); } break; case TCP_SEARCH_COMMENT: { ShowMessage("Search comment \n"); HandleSearchComment(PTCPRequest); } break; case TCP_GROUP_LIST: { ShowMessage("Search group\n"); HandleGroupListRequest(PTCPRequest); } break; case TCP_AH_REQUEST: case TCP_AH_REQUEST_MORE: { HandleAuctionHouseRequest(PTCPRequest); } break; case TCP_AH_HISTORY_SINGL: case TCP_AH_HISTORY_STACK: { HandleAuctionHouseHistoru(PTCPRequest); } break; } delete PTCPRequest; #ifdef WIN32 return 1; #else return NULL; #endif }