Esempio n. 1
0
	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;
	}
Esempio n. 2
0
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
}