Exemplo n.º 1
0
void Client::EventCallback(pc_client_t *client, int ev_type, void* ex_data,
						const char* arg1, const char* arg2)
{
	Client * owner = (Client *)pc_client_ex_data(client);
	assert(owner != NULL);

	switch(ev_type){
	case PC_EV_USER_DEFINED_PUSH:
		owner->EmitEvent(arg1,arg2);
		break;

	case PC_EV_CONNECTED:
		owner->EmitEvent("connected",NULL);
		break;

	case PC_EV_CONNECT_ERROR:
		owner->EmitEvent("connected_error",arg1);
		break;

	case PC_EV_CONNECT_FAILED:
		owner->EmitEvent("connected_failed",arg1);
		break;

	case PC_EV_DISCONNECT:
		owner->EmitEvent("disconnect",NULL);
		break;

	case PC_EV_KICKED_BY_SERVER:
		owner->EmitEvent("kicked",NULL);
		break;

	case PC_EV_UNEXPECTED_DISCONNECT:
		owner->EmitEvent("unexpected_disconnect",arg1);
		break;

	case PC_EV_PROTO_ERROR:
		owner->EmitEvent("proto_error",arg1);
		break;

	default:
		break;
	}
}