| |
| |
|
|
| #pragma once |
|
|
| #include <functional> |
| #include <string> |
| #include "common/announce_multiplayer_room.h" |
| #include "web_service/web_backend.h" |
|
|
| namespace WebService { |
|
|
| |
| |
| |
| |
| class RoomJson : public AnnounceMultiplayerRoom::Backend { |
| public: |
| RoomJson(const std::string& host_, const std::string& username_, const std::string& token_) |
| : client(host_, username_, token_), host(host_), username(username_), token(token_) {} |
| ~RoomJson() = default; |
| void SetRoomInformation(const std::string& name, const std::string& description, const u16 port, |
| const u32 max_player, const u32 net_version, const bool has_password, |
| const AnnounceMultiplayerRoom::GameInfo& preferred_game) override; |
| void AddPlayer(const AnnounceMultiplayerRoom::Member& member) override; |
| WebResult Update() override; |
| WebResult Register() override; |
| void ClearPlayers() override; |
| AnnounceMultiplayerRoom::RoomList GetRoomList() override; |
| void Delete() override; |
|
|
| private: |
| AnnounceMultiplayerRoom::Room room; |
| Client client; |
| std::string host; |
| std::string username; |
| std::string token; |
| std::string room_id; |
| }; |
|
|
| } |
|
|