libkazv
Loading...
Searching...
No Matches
kazv-triggers.hpp
Go to the documentation of this file.
1/*
2 * This file is part of libkazv.
3 * SPDX-FileCopyrightText: 2020-2026 tusooa <tusooa@kazv.moe>
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
15namespace Kazv
16{
17 struct LoginSuccessful {};
18
20 {
21 std::string errorCode;
22 std::string error;
23 };
24
26
28
31 std::string roomId;
32 };
33
36 std::string roomId;
37 };
38
43
48
53
58 {
66 immer::map<std::string /* roomId */, EventList> timelineEvents;
70 immer::map<std::string /* roomId */, EventList> nonTimelineEvents;
71 };
72
77
79
80 using KazvTrigger = std::variant<
81 // use this for placeholder of "no events yet"
82 // otherwise the first LoginSuccessful event cannot be detected
83 std::monostate,
84
85 // matrix events
93
94 // auth
96 // storage
98 // encryption
100
101 // general
103 >;
104 using KazvEvent [[deprecated("renamed to KazvTrigger")]] = KazvTrigger;
105
106 using KazvTriggerList = immer::flex_vector<KazvTrigger>;
107 using KazvEventList [[deprecated("renamed to KazvTriggerList")]] = KazvTriggerList;
108}
Definition event.hpp:21
Definition location.hpp:10
std::variant< std::monostate, ReceivingPresenceEvent, ReceivingAccountDataEvent, ReceivingRoomTimelineEvent, ReceivingRoomStateEvent, RoomMembershipChanged, ReceivingRoomAccountDataEvent, ReceivingToDeviceMessage, LoginSuccessful, LoginFailed, SaveEventsRequested, VerificationTrackerModelChanged, UnrecognizedResponse > KazvTrigger
Definition kazv-triggers.hpp:103
KazvTriggerList KazvEventList
Definition kazv-triggers.hpp:107
KazvTrigger KazvEvent
Definition kazv-triggers.hpp:104
immer::flex_vector< KazvTrigger > KazvTriggerList
Definition kazv-triggers.hpp:106
RoomMembership
Definition types.hpp:128
immer::flex_vector< Event > EventList
Definition types.hpp:107
Definition kazv-triggers.hpp:20
std::string errorCode
Definition kazv-triggers.hpp:21
std::string error
Definition kazv-triggers.hpp:22
Definition kazv-triggers.hpp:17
Definition kazv-triggers.hpp:27
Event event
Definition kazv-triggers.hpp:27
Definition kazv-triggers.hpp:25
Event event
Definition kazv-triggers.hpp:25
Definition kazv-triggers.hpp:39
std::string roomId
Definition kazv-triggers.hpp:41
Event event
Definition kazv-triggers.hpp:40
Definition kazv-triggers.hpp:29
Event event
Definition kazv-triggers.hpp:30
std::string roomId
Definition kazv-triggers.hpp:31
Definition kazv-triggers.hpp:34
std::string roomId
Definition kazv-triggers.hpp:36
Event event
Definition kazv-triggers.hpp:35
Definition kazv-triggers.hpp:45
Event event
Definition kazv-triggers.hpp:46
Definition basejob.hpp:49
Definition kazv-triggers.hpp:49
std::string roomId
Definition kazv-triggers.hpp:51
RoomMembership membership
Definition kazv-triggers.hpp:50
Indicate that there are events to be saved.
Definition kazv-triggers.hpp:58
immer::map< std::string, EventList > timelineEvents
The events to be saved in the timeline.
Definition kazv-triggers.hpp:66
immer::map< std::string, EventList > nonTimelineEvents
The events that should be saved, but not in the timeline.
Definition kazv-triggers.hpp:70
Definition kazv-triggers.hpp:74
Response response
Definition kazv-triggers.hpp:75
Definition kazv-triggers.hpp:78