libkazv
kazvevents.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of libkazv.
3  * SPDX-FileCopyrightText: 2020 Tusooa Zhu
4  * SPDX-License-Identifier: AGPL-3.0-or-later
5  */
6 
7 
8 #pragma once
9 #include "libkazv-config.hpp"
10 #include <variant>
11 #include "types.hpp"
12 #include "event.hpp"
13 #include "basejob.hpp"
14 
15 namespace Kazv
16 {
17  struct LoginSuccessful {};
18 
19  struct LoginFailed
20  {
21  std::string errorCode;
22  std::string error;
23  };
24 
26  {
27  std::string nextToken;
28  };
29 
30  struct SyncFailed
31  {
32  };
33 
35  {
36  };
37 
39  {
40  std::string errorCode;
41  std::string error;
42  };
43 
45 
47 
50  std::string roomId;
51  };
52 
55  std::string roomId;
56  };
57 
60  std::string roomId;
61  };
62 
64  {
66  };
67 
70  std::string roomId;
71  };
72 
74  {
75  std::string roomId;
76  };
77 
79  {
80  std::string roomId;
81  };
82 
84  {
85  std::string roomId;
86  };
87 
89  {
90  std::string errorCode;
91  std::string error;
92  };
93 
95  {
96  std::string roomId;
97  std::string userId;
98  };
99 
101  {
102  std::string roomId;
103  std::string userId;
104  std::string errorCode;
105  std::string error;
106  };
107 
109  {
110  std::string roomIdOrAlias;
111  };
112 
114  {
115  std::string roomIdOrAlias;
116  std::string errorCode;
117  std::string error;
118  };
119 
121  {
122  std::string roomId;
123  };
124 
126  {
127  std::string roomId;
128  std::string errorCode;
129  std::string error;
130  };
131 
133  {
134  std::string roomId;
135  };
136 
138  {
139  std::string roomId;
140  std::string errorCode;
141  std::string error;
142  };
143 
145  {
146  std::string roomId;
147  std::string eventId;
148  };
149 
151  {
152  std::string roomId;
153  std::string errorCode;
154  std::string error;
155  };
156 
158  {
159  immer::map<std::string, immer::flex_vector<std::string>> devicesToSend;
160  std::string txnId;
161  };
162 
164  {
165  immer::map<std::string, immer::flex_vector<std::string>> devicesToSend;
166  std::string txnId;
167  std::string errorCode;
168  std::string error;
169  };
170 
172  {
173  };
174 
176  {
177  std::string roomId;
178  };
179 
181  {
182  std::string roomId;
183  std::string errorCode;
184  std::string error;
185  };
186 
188  {
189  std::string roomId;
191  };
192 
194  {
195  std::string roomId;
196  std::string errorCode;
197  std::string error;
198  };
199 
201  {
202  std::string roomId;
203  std::string eventId;
204  std::string eventType;
205  std::string stateKey;
206  };
207 
209  {
210  std::string roomId;
211  std::string eventType;
212  std::string stateKey;
213  std::string errorCode;
214  std::string error;
215  };
216 
218  {
219  std::string roomId;
220  };
221 
223  {
224  std::string roomId;
225  std::string errorCode;
226  std::string error;
227  };
228 
230  {
231  std::string roomId;
232  };
233 
235  {
236  std::string roomId;
237  std::string errorCode;
238  std::string error;
239  };
240 
242  {
243  std::string roomId;
244  };
245 
247  {
248  std::string roomId;
249  std::string errorCode;
250  std::string error;
251  };
252 
254  {
255  std::string mxcUri;
256  std::string uploadId;
257  };
258 
260  {
261  std::string uploadId;
262  std::string errorCode;
263  std::string error;
264  };
265 
267  {
268  std::string mxcUri;
269  immer::box<Bytes> content;
270  std::optional<std::string> filename;
271  std::optional<std::string> contentType;
272  };
273 
275  {
276  std::string mxcUri;
277  std::string errorCode;
278  std::string error;
279  };
280 
282  {
283  std::string mxcUri;
284  immer::box<Bytes> content;
285  std::optional<std::string> contentType;
286  };
287 
289  {
290  std::string mxcUri;
291  std::string errorCode;
292  std::string error;
293  };
294 
296  {
297  };
298 
300  {
301  std::string errorCode;
302  std::string error;
303  };
304 
306  {
307  };
308 
310  {
311  std::string errorCode;
312  std::string error;
313  };
314 
316  {
318  immer::map<std::string, immer::flex_vector<std::string>> devicesToSend;
319  };
320 
322  {
323  std::string errorCode;
324  std::string error;
325  };
326 
328  {
330  };
331 
332 
334  {
336  };
337 
338  using KazvEvent = std::variant<
339  // use this for placeholder of "no events yet"
340  // otherwise the first LoginSuccessful event cannot be detected
341  std::monostate,
342 
343  // matrix events
351 
352  // auth
354  // sync
357  // paginate
359  // membership
365  // send
369  // states
373  // ephemeral
377  // content
381  // encryption
385 
386  // general
389 
390  >;
391 
392  using KazvEventList = immer::flex_vector<KazvEvent>;
393 }
Kazv::PostInitialFiltersFailed::error
std::string error
Definition: kazvevents.hpp:41
Kazv::GetRoomStatesFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:183
Kazv::ForgetRoomFailed
Definition: kazvevents.hpp:137
Kazv::CreateRoomFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:90
Kazv::GetRoomStatesFailed
Definition: kazvevents.hpp:180
Kazv::GetStateEventSuccessful
Definition: kazvevents.hpp:187
Kazv::UnrecognizedResponse::response
Response response
Definition: kazvevents.hpp:329
Kazv::DownloadThumbnailFailed::mxcUri
std::string mxcUri
Definition: kazvevents.hpp:290
Kazv::ForgetRoomFailed::error
std::string error
Definition: kazvevents.hpp:141
Kazv::ReceivingRoomAccountDataEvent
Definition: kazvevents.hpp:58
Kazv::JoinRoomSuccessful
Definition: kazvevents.hpp:108
Kazv::DownloadThumbnailFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:291
Kazv::UploadOneTimeKeysFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:311
Kazv::ReceivingRoomStateEvent
Definition: kazvevents.hpp:48
Kazv::ClaimKeysSuccessful
Definition: kazvevents.hpp:315
Kazv::ClaimKeysSuccessful::devicesToSend
immer::map< std::string, immer::flex_vector< std::string > > devicesToSend
Definition: kazvevents.hpp:318
Kazv::SendToDeviceMessageFailed
Definition: kazvevents.hpp:163
Kazv::ReceivingAccountDataEvent::event
Event event
Definition: kazvevents.hpp:46
Kazv::ReceivingRoomTimelineEvent::roomId
std::string roomId
Definition: kazvevents.hpp:55
Kazv::SendMessageSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:146
Kazv::CreateRoomSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:85
Kazv::PaginateSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:75
Kazv::SendToDeviceMessageFailed::txnId
std::string txnId
Definition: kazvevents.hpp:166
Kazv::ReceivingRoomTimelineEvent::event
Event event
Definition: kazvevents.hpp:54
types.hpp
Kazv::ReceivingRoomTimelineEvent
Definition: kazvevents.hpp:53
Kazv::ReceivingPresenceEvent
Definition: kazvevents.hpp:44
Kazv::SendMessageFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:153
Kazv::RoomMembership
RoomMembership
Definition: types.hpp:116
Kazv::ClaimKeysSuccessful::eventToSend
Event eventToSend
Definition: kazvevents.hpp:317
Kazv::GetStateEventFailed
Definition: kazvevents.hpp:193
Kazv::DownloadThumbnailSuccessful::content
immer::box< Bytes > content
Definition: kazvevents.hpp:284
Kazv::SetTypingSuccessful
Definition: kazvevents.hpp:217
Kazv::InviteUserFailed::roomId
std::string roomId
Definition: kazvevents.hpp:102
Kazv::SetTypingSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:219
Kazv::SendStateEventSuccessful
Definition: kazvevents.hpp:200
Kazv::SetReadMarkerFailed::roomId
std::string roomId
Definition: kazvevents.hpp:248
Kazv::SendStateEventFailed::stateKey
std::string stateKey
Definition: kazvevents.hpp:212
Kazv::SendToDeviceMessageFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:167
Kazv::InviteUserSuccessful
Definition: kazvevents.hpp:94
event.hpp
Kazv::UploadOneTimeKeysFailed
Definition: kazvevents.hpp:309
Kazv::DownloadContentSuccessful
Definition: kazvevents.hpp:266
Kazv::UploadContentFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:262
Kazv::InviteUserFailed::error
std::string error
Definition: kazvevents.hpp:105
Kazv::InviteUserFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:104
Kazv::LeaveRoomFailed::roomId
std::string roomId
Definition: kazvevents.hpp:127
Kazv::SendStateEventFailed::roomId
std::string roomId
Definition: kazvevents.hpp:210
Kazv::UnrecognizedResponse
Definition: kazvevents.hpp:327
Kazv::LoginSuccessful
Definition: kazvevents.hpp:17
Kazv::UploadContentFailed::uploadId
std::string uploadId
Definition: kazvevents.hpp:261
Kazv::SendMessageSuccessful
Definition: kazvevents.hpp:144
Kazv::SyncFailed
Definition: kazvevents.hpp:30
Kazv::UploadIdentityKeysFailed
Definition: kazvevents.hpp:299
Kazv::PaginateFailed::roomId
std::string roomId
Definition: kazvevents.hpp:80
Kazv::ForgetRoomSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:134
Kazv::SendStateEventSuccessful::stateKey
std::string stateKey
Definition: kazvevents.hpp:205
Kazv::InvalidMessageFormat
Definition: kazvevents.hpp:171
Kazv::SetTypingFailed::error
std::string error
Definition: kazvevents.hpp:226
Kazv::RoomMembershipChanged::membership
RoomMembership membership
Definition: kazvevents.hpp:69
Kazv::SyncSuccessful::nextToken
std::string nextToken
Definition: kazvevents.hpp:27
Kazv
Definition: location.hpp:10
Kazv::ReceivingPresenceEvent::event
Event event
Definition: kazvevents.hpp:44
Kazv::SendStateEventSuccessful::eventType
std::string eventType
Definition: kazvevents.hpp:204
Kazv::DownloadContentFailed::mxcUri
std::string mxcUri
Definition: kazvevents.hpp:276
Kazv::SetTypingFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:225
Kazv::SendStateEventFailed::eventType
std::string eventType
Definition: kazvevents.hpp:211
Kazv::GetStateEventSuccessful::content
JsonWrap content
Definition: kazvevents.hpp:190
Kazv::InviteUserFailed
Definition: kazvevents.hpp:100
Kazv::GetStateEventSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:189
Kazv::DownloadThumbnailFailed
Definition: kazvevents.hpp:288
Kazv::UploadContentSuccessful
Definition: kazvevents.hpp:253
Kazv::PostReceiptFailed::error
std::string error
Definition: kazvevents.hpp:238
Kazv::DownloadContentFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:277
Kazv::UploadIdentityKeysSuccessful
Definition: kazvevents.hpp:295
Kazv::SetReadMarkerFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:249
Kazv::KazvEvent
std::variant< std::monostate, ReceivingPresenceEvent, ReceivingAccountDataEvent, ReceivingRoomTimelineEvent, ReceivingRoomStateEvent, RoomMembershipChanged, ReceivingRoomAccountDataEvent, ReceivingToDeviceMessage, LoginSuccessful, LoginFailed, SyncSuccessful, SyncFailed, PostInitialFiltersSuccessful, PostInitialFiltersFailed, PaginateSuccessful, PaginateFailed, CreateRoomSuccessful, CreateRoomFailed, InviteUserSuccessful, InviteUserFailed, JoinRoomSuccessful, JoinRoomFailed, LeaveRoomSuccessful, LeaveRoomFailed, ForgetRoomSuccessful, ForgetRoomFailed, SendMessageSuccessful, SendMessageFailed, SendToDeviceMessageSuccessful, SendToDeviceMessageFailed, InvalidMessageFormat, GetRoomStatesSuccessful, GetRoomStatesFailed, GetStateEventSuccessful, GetStateEventFailed, SendStateEventSuccessful, SendStateEventFailed, SetTypingSuccessful, SetTypingFailed, PostReceiptSuccessful, PostReceiptFailed, SetReadMarkerSuccessful, SetReadMarkerFailed, UploadContentSuccessful, UploadContentFailed, DownloadContentSuccessful, DownloadContentFailed, DownloadThumbnailSuccessful, DownloadThumbnailFailed, UploadIdentityKeysSuccessful, UploadIdentityKeysFailed, UploadOneTimeKeysSuccessful, UploadOneTimeKeysFailed, ClaimKeysSuccessful, ClaimKeysFailed, UnrecognizedResponse, ShouldQueryKeys > KazvEvent
Definition: kazvevents.hpp:390
Kazv::DownloadContentSuccessful::content
immer::box< Bytes > content
Definition: kazvevents.hpp:269
Kazv::JoinRoomFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:116
Kazv::ForgetRoomFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:140
Kazv::ClaimKeysFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:323
Kazv::LoginFailed
Definition: kazvevents.hpp:19
Kazv::SetReadMarkerSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:243
Kazv::LoginFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:21
Kazv::PostInitialFiltersFailed
Definition: kazvevents.hpp:38
Kazv::DownloadContentSuccessful::mxcUri
std::string mxcUri
Definition: kazvevents.hpp:268
Kazv::ReceivingRoomStateEvent::event
Event event
Definition: kazvevents.hpp:49
Kazv::SendStateEventFailed
Definition: kazvevents.hpp:208
Kazv::PaginateFailed
Definition: kazvevents.hpp:78
Kazv::PaginateSuccessful
Definition: kazvevents.hpp:73
Kazv::PostReceiptFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:237
Kazv::SetReadMarkerSuccessful
Definition: kazvevents.hpp:241
Kazv::ClaimKeysFailed::error
std::string error
Definition: kazvevents.hpp:324
Kazv::InviteUserSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:96
Kazv::ClaimKeysFailed
Definition: kazvevents.hpp:321
Kazv::GetStateEventFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:196
Kazv::DownloadThumbnailSuccessful::contentType
std::optional< std::string > contentType
Definition: kazvevents.hpp:285
Kazv::GetRoomStatesSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:177
Kazv::ReceivingRoomStateEvent::roomId
std::string roomId
Definition: kazvevents.hpp:50
Kazv::SetTypingFailed
Definition: kazvevents.hpp:222
Kazv::SyncSuccessful
Definition: kazvevents.hpp:25
Kazv::UploadOneTimeKeysFailed::error
std::string error
Definition: kazvevents.hpp:312
Kazv::LeaveRoomFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:128
Kazv::DownloadContentSuccessful::filename
std::optional< std::string > filename
Definition: kazvevents.hpp:270
Kazv::PostReceiptSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:231
Kazv::ReceivingRoomAccountDataEvent::event
Event event
Definition: kazvevents.hpp:59
Kazv::GetStateEventFailed::roomId
std::string roomId
Definition: kazvevents.hpp:195
Kazv::GetRoomStatesSuccessful
Definition: kazvevents.hpp:175
Kazv::UploadContentSuccessful::uploadId
std::string uploadId
Definition: kazvevents.hpp:256
Kazv::SendMessageFailed::error
std::string error
Definition: kazvevents.hpp:154
basejob.hpp
Kazv::DownloadThumbnailSuccessful
Definition: kazvevents.hpp:281
Kazv::ReceivingRoomAccountDataEvent::roomId
std::string roomId
Definition: kazvevents.hpp:60
Kazv::JsonWrap
Definition: jsonwrap.hpp:22
Kazv::RoomMembershipChanged::roomId
std::string roomId
Definition: kazvevents.hpp:70
Kazv::SendMessageFailed
Definition: kazvevents.hpp:150
Kazv::UploadIdentityKeysFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:301
Kazv::CreateRoomFailed
Definition: kazvevents.hpp:88
Kazv::RoomMembershipChanged
Definition: kazvevents.hpp:68
Kazv::UploadContentFailed
Definition: kazvevents.hpp:259
Kazv::LeaveRoomFailed::error
std::string error
Definition: kazvevents.hpp:129
Kazv::KazvEventList
immer::flex_vector< KazvEvent > KazvEventList
Definition: kazvevents.hpp:392
Kazv::JoinRoomSuccessful::roomIdOrAlias
std::string roomIdOrAlias
Definition: kazvevents.hpp:110
Kazv::SendStateEventSuccessful::eventId
std::string eventId
Definition: kazvevents.hpp:203
Kazv::SendToDeviceMessageFailed::devicesToSend
immer::map< std::string, immer::flex_vector< std::string > > devicesToSend
Definition: kazvevents.hpp:165
Kazv::Event
Definition: event.hpp:20
Kazv::UploadContentSuccessful::mxcUri
std::string mxcUri
Definition: kazvevents.hpp:255
Kazv::SendStateEventFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:213
Kazv::PostInitialFiltersFailed::errorCode
std::string errorCode
Definition: kazvevents.hpp:40
Kazv::GetStateEventFailed::error
std::string error
Definition: kazvevents.hpp:197
Kazv::SendToDeviceMessageSuccessful
Definition: kazvevents.hpp:157
Kazv::CreateRoomFailed::error
std::string error
Definition: kazvevents.hpp:91
Kazv::LeaveRoomSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:122
Kazv::CreateRoomSuccessful
Definition: kazvevents.hpp:83
Kazv::DownloadContentSuccessful::contentType
std::optional< std::string > contentType
Definition: kazvevents.hpp:271
Kazv::SendMessageFailed::roomId
std::string roomId
Definition: kazvevents.hpp:152
Kazv::ReceivingToDeviceMessage::event
Event event
Definition: kazvevents.hpp:65
Kazv::InviteUserFailed::userId
std::string userId
Definition: kazvevents.hpp:103
Kazv::SetTypingFailed::roomId
std::string roomId
Definition: kazvevents.hpp:224
Kazv::GetRoomStatesFailed::error
std::string error
Definition: kazvevents.hpp:184
Kazv::PostReceiptSuccessful
Definition: kazvevents.hpp:229
Kazv::LeaveRoomSuccessful
Definition: kazvevents.hpp:120
Kazv::ForgetRoomFailed::roomId
std::string roomId
Definition: kazvevents.hpp:139
Kazv::SendToDeviceMessageSuccessful::devicesToSend
immer::map< std::string, immer::flex_vector< std::string > > devicesToSend
Definition: kazvevents.hpp:159
Kazv::SendStateEventSuccessful::roomId
std::string roomId
Definition: kazvevents.hpp:202
Kazv::UploadContentFailed::error
std::string error
Definition: kazvevents.hpp:263
Kazv::UploadOneTimeKeysSuccessful
Definition: kazvevents.hpp:305
Kazv::UploadIdentityKeysFailed::error
std::string error
Definition: kazvevents.hpp:302
Kazv::DownloadContentFailed
Definition: kazvevents.hpp:274
Kazv::LeaveRoomFailed
Definition: kazvevents.hpp:125
Kazv::SendToDeviceMessageSuccessful::txnId
std::string txnId
Definition: kazvevents.hpp:160
Kazv::DownloadContentFailed::error
std::string error
Definition: kazvevents.hpp:278
libkazv-config.hpp
Kazv::ForgetRoomSuccessful
Definition: kazvevents.hpp:132
Kazv::JoinRoomFailed::error
std::string error
Definition: kazvevents.hpp:117
Kazv::SetReadMarkerFailed::error
std::string error
Definition: kazvevents.hpp:250
Kazv::ShouldQueryKeys::isInitialSync
bool isInitialSync
Definition: kazvevents.hpp:335
Kazv::SetReadMarkerFailed
Definition: kazvevents.hpp:246
Kazv::SendStateEventFailed::error
std::string error
Definition: kazvevents.hpp:214
Kazv::GetRoomStatesFailed::roomId
std::string roomId
Definition: kazvevents.hpp:182
Kazv::JoinRoomFailed::roomIdOrAlias
std::string roomIdOrAlias
Definition: kazvevents.hpp:115
Kazv::JoinRoomFailed
Definition: kazvevents.hpp:113
Kazv::LoginFailed::error
std::string error
Definition: kazvevents.hpp:22
Kazv::PostReceiptFailed
Definition: kazvevents.hpp:234
Kazv::InviteUserSuccessful::userId
std::string userId
Definition: kazvevents.hpp:97
Kazv::ShouldQueryKeys
Definition: kazvevents.hpp:333
Kazv::ReceivingAccountDataEvent
Definition: kazvevents.hpp:46
Kazv::PostInitialFiltersSuccessful
Definition: kazvevents.hpp:34
Kazv::ReceivingToDeviceMessage
Definition: kazvevents.hpp:63
Kazv::PostReceiptFailed::roomId
std::string roomId
Definition: kazvevents.hpp:236
Kazv::Response
Definition: basejob.hpp:50
Kazv::SendMessageSuccessful::eventId
std::string eventId
Definition: kazvevents.hpp:147
Kazv::DownloadThumbnailSuccessful::mxcUri
std::string mxcUri
Definition: kazvevents.hpp:283
Kazv::SendToDeviceMessageFailed::error
std::string error
Definition: kazvevents.hpp:168
Kazv::DownloadThumbnailFailed::error
std::string error
Definition: kazvevents.hpp:292