void TabRoom::processRoomEvent(const RoomEvent &event) { switch (static_cast<RoomEvent::RoomEventType>(getPbExtension(event))) { case RoomEvent::LIST_GAMES: processListGamesEvent(event.GetExtension(Event_ListGames::ext)); break; case RoomEvent::JOIN_ROOM: processJoinRoomEvent(event.GetExtension(Event_JoinRoom::ext)); break; case RoomEvent::LEAVE_ROOM: processLeaveRoomEvent(event.GetExtension(Event_LeaveRoom::ext)); break; case RoomEvent::ROOM_SAY: processRoomSayEvent(event.GetExtension(Event_RoomSay::ext)); break; default: ; } }
void AbstractClient::processProtocolItem(ProtocolItem *item) { ProtocolResponse *response = qobject_cast<ProtocolResponse *>(item); if (response) { CommandContainer *cmdCont = pendingCommands.value(response->getCmdId(), 0); if (!cmdCont) return; pendingCommands.remove(cmdCont->getCmdId()); cmdCont->processResponse(response); if (response->getReceiverMayDelete()) delete response; cmdCont->deleteLater(); return; } GenericEvent *genericEvent = qobject_cast<GenericEvent *>(item); if (genericEvent) { switch (genericEvent->getItemId()) { case ItemId_Event_UserJoined: emit userJoinedEventReceived(qobject_cast<Event_UserJoined *>(item)); break; case ItemId_Event_UserLeft: emit userLeftEventReceived(qobject_cast<Event_UserLeft *>(item)); break; case ItemId_Event_ServerMessage: emit serverMessageEventReceived(qobject_cast<Event_ServerMessage *>(item)); break; case ItemId_Event_ListRooms: emit listRoomsEventReceived(qobject_cast<Event_ListRooms *>(item)); break; case ItemId_Event_GameJoined: emit gameJoinedEventReceived(qobject_cast<Event_GameJoined *>(item)); break; case ItemId_Event_Message: emit messageEventReceived(qobject_cast<Event_Message *>(item)); break; } if (genericEvent->getReceiverMayDelete()) delete genericEvent; return; } GameEventContainer *gameEventContainer = qobject_cast<GameEventContainer *>(item); if (gameEventContainer) { emit gameEventContainerReceived(gameEventContainer); if (gameEventContainer->getReceiverMayDelete()) delete gameEventContainer; return; } RoomEvent *roomEvent = qobject_cast<RoomEvent *>(item); if (roomEvent) { emit roomEventReceived(roomEvent); if (roomEvent->getReceiverMayDelete()) delete roomEvent; return; } }
void IslInterface::processRoomEvent(const RoomEvent &event) { switch (getPbExtension(event)) { case RoomEvent::JOIN_ROOM: roomEvent_UserJoined(event.room_id(), event.GetExtension(Event_JoinRoom::ext)); break; case RoomEvent::LEAVE_ROOM: roomEvent_UserLeft(event.room_id(), event.GetExtension(Event_LeaveRoom::ext)); break; case RoomEvent::ROOM_SAY: roomEvent_Say(event.room_id(), event.GetExtension(Event_RoomSay::ext)); break; case RoomEvent::LIST_GAMES: roomEvent_ListGames(event.room_id(), event.GetExtension(Event_ListGames::ext)); break; default: ; } }