libkazv
clientfwd.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of libkazv.
3  * SPDX-FileCopyrightText: 2020-2023 tusooa <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 <tuple>
11 #include <variant>
12 
13 #include <lager/context.hpp>
14 #include <context.hpp>
15 
16 #include "room/room-model.hpp"
17 
18 namespace Kazv
19 {
20  using namespace Api;
21  class JobInterface;
22  class EventInterface;
23 
24  struct LoginAction;
25  struct TokenLoginAction;
26  struct LogoutAction;
27  struct HardLogoutAction;
28  struct GetWellknownAction;
29  struct GetVersionsAction;
30  struct SyncAction;
31  struct SetShouldSyncAction;
32  struct PostInitialFiltersAction;
33  struct SetAccountDataAction;
34  struct PaginateTimelineAction;
35  struct SendMessageAction;
36  struct SendStateEventAction;
37  struct SaveLocalEchoAction;
38  struct UpdateLocalEchoStatusAction;
39  struct RedactEventAction;
40  struct CreateRoomAction;
41  struct GetRoomStatesAction;
42  struct GetStateEventAction;
43  struct InviteToRoomAction;
44  struct JoinRoomByIdAction;
45  struct EmitKazvEventsAction;
46  struct JoinRoomAction;
47  struct LeaveRoomAction;
48  struct ForgetRoomAction;
49  struct KickAction;
50  struct BanAction;
51  struct UnbanAction;
52  struct SetAccountDataPerRoomAction;
53 
54  struct ProcessResponseAction;
55  struct SetTypingAction;
56  struct PostReceiptAction;
57  struct SetReadMarkerAction;
58 
59  struct UploadContentAction;
60  struct DownloadContentAction;
61  struct DownloadThumbnailAction;
62 
63  struct SendToDeviceMessageAction;
64  struct SendMultipleToDeviceMessagesAction;
65 
66  struct UploadIdentityKeysAction;
67  struct GenerateAndUploadOneTimeKeysAction;
68  struct QueryKeysAction;
69  struct ClaimKeysAction;
70  struct EncryptMegOlmEventAction;
71  struct SetDeviceTrustLevelAction;
72  struct SetTrustLevelNeededToSendKeysAction;
73  struct PrepareForSharingRoomKeyAction;
74 
75  struct GetUserProfileAction;
76  struct SetAvatarUrlAction;
77  struct SetDisplayNameAction;
78 
79  struct ResubmitJobAction;
80 
81  struct ClientModel;
82 
83  using ClientAction = std::variant<
85 
92 
93  SyncAction,
97 
109 
113  KickAction,
114  BanAction,
115  UnbanAction,
117 
119 
123 
127 
130 
139 
143 
145  >;
146 
148 
149  using ClientResult = std::pair<ClientModel, ClientEffect>;
150 }
Definition: context.hpp:205
Definition: location.hpp:10
std::variant< RoomListAction, LoginAction, TokenLoginAction, LogoutAction, HardLogoutAction, GetWellknownAction, GetVersionsAction, SyncAction, SetShouldSyncAction, PostInitialFiltersAction, SetAccountDataAction, PaginateTimelineAction, SendMessageAction, SendStateEventAction, SaveLocalEchoAction, UpdateLocalEchoStatusAction, RedactEventAction, CreateRoomAction, GetRoomStatesAction, GetStateEventAction, InviteToRoomAction, JoinRoomByIdAction, JoinRoomAction, LeaveRoomAction, ForgetRoomAction, KickAction, BanAction, UnbanAction, SetAccountDataPerRoomAction, ProcessResponseAction, SetTypingAction, PostReceiptAction, SetReadMarkerAction, UploadContentAction, DownloadContentAction, DownloadThumbnailAction, SendToDeviceMessageAction, SendMultipleToDeviceMessagesAction, UploadIdentityKeysAction, GenerateAndUploadOneTimeKeysAction, QueryKeysAction, ClaimKeysAction, EncryptMegOlmEventAction, SetDeviceTrustLevelAction, SetTrustLevelNeededToSendKeysAction, PrepareForSharingRoomKeyAction, GetUserProfileAction, SetAvatarUrlAction, SetDisplayNameAction, ResubmitJobAction > ClientAction
Definition: clientfwd.hpp:145
std::pair< ClientModel, ClientEffect > ClientResult
Definition: clientfwd.hpp:149
RoomListModel::Action RoomListAction
Definition: room-model.hpp:411
Definition: client-model.hpp:363
Definition: client-model.hpp:491
Definition: client-model.hpp:299
Definition: client-model.hpp:409
Definition: client-model.hpp:415
The action to encrypt an megolm event for a room.
Definition: client-model.hpp:519
Definition: client-model.hpp:351
The action to generate one-time keys.
Definition: client-model.hpp:475
Definition: client-model.hpp:317
Definition: client-model.hpp:322
Definition: client-model.hpp:567
Definition: client-model.hpp:226
Definition: client-model.hpp:221
Definition: client-model.hpp:218
Definition: client-model.hpp:329
Definition: client-model.hpp:340
Definition: client-model.hpp:335
Definition: client-model.hpp:356
Definition: client-model.hpp:346
Definition: client-model.hpp:202
Definition: client-model.hpp:217
Definition: client-model.hpp:238
Definition: client-model.hpp:435
Definition: client-model.hpp:389
Encrypt room key as olm and add it to the room's pending keyshare slots.
Definition: client-model.hpp:551
Definition: client-model.hpp:430
Definition: client-model.hpp:486
Definition: client-model.hpp:292
Definition: client-model.hpp:425
Saves an local echo.
Definition: client-model.hpp:266
Definition: client-model.hpp:246
Send multiple to device messages.
Definition: client-model.hpp:456
Definition: client-model.hpp:253
Definition: client-model.hpp:444
Definition: client-model.hpp:439
Definition: client-model.hpp:376
Definition: client-model.hpp:572
Definition: client-model.hpp:536
Definition: client-model.hpp:577
Definition: client-model.hpp:395
Definition: client-model.hpp:233
Definition: client-model.hpp:543
Definition: client-model.hpp:382
Definition: client-model.hpp:230
Definition: client-model.hpp:210
Definition: client-model.hpp:370
Updates the status of an local echo.
Definition: client-model.hpp:282
Definition: client-model.hpp:401
Definition: client-model.hpp:464