Beispiel #1
0
void httpServer::getClientRequest()
{
	QTcpSocket *client = qobject_cast<QTcpSocket *>(sender());	
	if(client->canReadLine())
	{
		QStringList lines = QString(client->readLine()).split(QRegExp("[ \r\n][ \r\n]*"));
		if(lines[0] == "GET")
		{
			viewMessage(QString::fromUtf8("Envoi du catalogue à ")+client->peerAddress().toString()+":"+QString::number(client->peerPort()));
			QFile catalogue(QCoreApplication::applicationDirPath()+"/catalog.tmp");
			catalogue.open(QIODevice::ReadOnly | QIODevice::Text);
			QTextStream os(client);
			QTextStream is(&catalogue);
			os << "HTTP/1.1 200 OK\r\nServer: TP_Serveur_3208\r\nConnection: Keep-Alive\r\nContent-Type: text/txt\r\nContent-Length: " << catalogue.size() << "\r\n\r\n";
			QString line = is.readLine();
			while(!line.isNull())
			{
				os << line.toLocal8Bit().constData() << "\r\n";
				line = is.readLine();
			}
			catalogue.close();
		}
	}	
}
Beispiel #2
0
void ListItemView::MessageReceived(BMessage* msg)
{

	switch (msg->what)
	{
		case SET_DRAW:
		{
			if (gFuncList->LockAsWriter())
			{
				function->SetDraw(checkBox->Value());
				gFuncList->UnlockAsWriter();
			}
		}
		break;
		case COLOR_CHG:
		{	
			const void* data;
			ssize_t size = sizeof(rgb_color);
			if (msg->FindData("color",B_RGB_COLOR_TYPE,&data,&size)== B_OK)
			{
				if (gFuncList->LockAsWriter())
				{
					function->SetColor(*(const rgb_color*)(data));
					gFuncList->UnlockAsWriter();
				}
			}
		}
		break;
		case SET_TYPE_CART:
		{
			if (gFuncList->LockAsWriter())
			{
				if (function->Type()==cart)
				{
					gFuncList->UnlockAsWriter(false);
					break;
				}
				function->SetType(cart);
				ListItemView* newItem = function->CreateListItemView(Frame(),"List Item");
				BMessenger messanger(Parent());
				BMessage viewMessage(ADD_ITEM);
				viewMessage.AddPointer("ListItemPtr",newItem);
				viewMessage.AddPointer("OldItemPtr",this);
				messanger.SendMessage(&viewMessage);
				gFuncList->UnlockAsWriter();
			}
		}
		break;		
		case SET_TYPE_PARA:
		{
			if (gFuncList->LockAsWriter())
			{
				if (function->Type()==para)
				{
					gFuncList->UnlockAsWriter(false);
					break;
				}
				function->SetType(para);
				ListItemView* newItem = function->CreateListItemView(Frame(),"List Item");
				BMessenger messanger(Parent());
				BMessage* viewMessage= new BMessage(ADD_ITEM);
				viewMessage->AddPointer("ListItemPtr",newItem);
				viewMessage->AddPointer("OldItemPtr",this);
				messanger.SendMessage(viewMessage);
				gFuncList->UnlockAsWriter();
			}
		}
		break;
		case SET_TYPE_POLAR:
		{
			if (gFuncList->LockAsWriter())
			{
				if (function->Type()==polar)
				{
					gFuncList->UnlockAsWriter(false);
					break;
				}
				function->SetType(polar);
				ListItemView* newItem = function->CreateListItemView(Frame(),"List Item");
				BMessenger messanger(Parent());
				BMessage* viewMessage= new BMessage(ADD_ITEM);
				viewMessage->AddPointer("ListItemPtr",newItem);
				viewMessage->AddPointer("OldItemPtr",this);
				messanger.SendMessage(viewMessage);
				gFuncList->UnlockAsWriter();
			}
		}
		break;		
		default:
			BView::MessageReceived(msg);
			break;
	}
}