1#ifndef CAVOKE_CLIENT_ROOMVIEW_H
2#define CAVOKE_CLIENT_ROOMVIEW_H
5#include "entities/gameinfo.h"
6#include "entities/role.h"
7#include "entities/roominfo.h"
8#include "entities/sessioninfo.h"
9#include "entities/validationresult.h"
18 enum class CreatingSessionStatus {
24 explicit RoomView(QWidget *parent =
nullptr);
28 void updateRoomInfo(
const RoomInfo &roomInfo);
29 void updateSessionInfo(
const SessionInfo &sessionInfo);
31 void gotGamesListUpdate(
const std::vector<GameInfo> &newGamesList);
34 void createdSession(
const QString &gameId);
35 void joinedSession(
const QString &sessionId);
36 void requestedSessionUpdate(
const QString &sessionId);
37 void shownStartView();
41 void updateStatus(CreatingSessionStatus newStatus);
42 void on_backButton_clicked();
43 void on_joinSessionButton_clicked();
44 void on_createSessionButton_clicked();
48 const std::map<CreatingSessionStatus, QString> STATUS = {
49 {CreatingSessionStatus::UNKNOWN,
"Unknown"},
50 {CreatingSessionStatus::WAIT_FOR_THE_HOST,
51 "Wait for the host to create a session"},
52 {CreatingSessionStatus::NOW_YOU_CAN_JOIN,
53 "Now you can join the session!"},
54 {CreatingSessionStatus::YOU_CAN_CREATE,
"You can create a session"},
57 CreatingSessionStatus status = CreatingSessionStatus::UNKNOWN;