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;