libkazv
membership.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of libkazv.
3  * SPDX-FileCopyrightText: 2020 Tusooa Zhu <tusooa@kazv.moe>
4  * SPDX-License-Identifier: AGPL-3.0-or-later
5  */
6 
7 #pragma once
8 #include <libkazv-config.hpp>
9 
10 #include "client-model.hpp"
11 #include <csapi/create_room.hpp>
12 #include <csapi/inviting.hpp>
13 #include <csapi/joining.hpp>
14 #include <csapi/leaving.hpp>
15 #include <csapi/kicking.hpp>
16 #include <csapi/banning.hpp>
17 
18 namespace Kazv
19 {
20  ClientResult updateClient(ClientModel m, CreateRoomAction a);
22 
23  ClientResult updateClient(ClientModel m, InviteToRoomAction a);
25 
26  ClientResult updateClient(ClientModel m, JoinRoomByIdAction a);
28 
29  ClientResult updateClient(ClientModel m, JoinRoomAction a);
31 
32  ClientResult updateClient(ClientModel m, LeaveRoomAction a);
34 
35  ClientResult updateClient(ClientModel m, ForgetRoomAction a);
37 
38  ClientResult updateClient(ClientModel m, KickAction a);
39  ClientResult processResponse(ClientModel m, KickResponse r);
40 
41  ClientResult updateClient(ClientModel m, BanAction a);
42  ClientResult processResponse(ClientModel m, BanResponse r);
43 
44  ClientResult updateClient(ClientModel m, UnbanAction a);
45  ClientResult processResponse(ClientModel m, UnbanResponse r);
46 }
Kazv::Api::JoinRoomResponse
JoinRoomJob::JobResponse JoinRoomResponse
Definition: joining.hpp:179
Kazv::Api::JoinRoomByIdResponse
JoinRoomByIdJob::JobResponse JoinRoomByIdResponse
Definition: joining.hpp:90
inviting.hpp
kicking.hpp
Kazv::Api::BanResponse
BanJob::JobResponse BanResponse
Definition: banning.hpp:73
leaving.hpp
Kazv::updateClient
ClientResult updateClient(ClientModel m, SetAccountDataPerRoomAction a)
Definition: account-data.cpp:15
Kazv
Definition: location.hpp:10
client-model.hpp
Kazv::Api::ForgetRoomResponse
ForgetRoomJob::JobResponse ForgetRoomResponse
Definition: leaving.hpp:144
Kazv::Api::InviteUserResponse
InviteUserJob::JobResponse InviteUserResponse
Definition: inviting.hpp:83
Kazv::Api::LeaveRoomResponse
LeaveRoomJob::JobResponse LeaveRoomResponse
Definition: leaving.hpp:77
Kazv::processResponse
ClientResult processResponse(ClientModel m, SetAccountDataPerRoomResponse r)
Definition: account-data.cpp:23
Kazv::ClientResult
std::pair< ClientModel, ClientEffect > ClientResult
Definition: clientfwd.hpp:149
joining.hpp
banning.hpp
Kazv::Api::UnbanResponse
UnbanJob::JobResponse UnbanResponse
Definition: banning.hpp:142
libkazv-config.hpp
Kazv::Api::KickResponse
KickJob::JobResponse KickResponse
Definition: kicking.hpp:76
Kazv::Api::CreateRoomResponse
CreateRoomJob::JobResponse CreateRoomResponse
Definition: create_room.hpp:297
create_room.hpp