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
78 using KazvTrigger = std::variant<
79 // use this for placeholder of "no events yet"
80 // otherwise the first LoginSuccessful event cannot be detected
81 std::monostate,
82
83 // matrix events
91
92 // auth
94 // storage
96
97 // general
99 >;
100 using KazvEvent [[deprecated("renamed to KazvTrigger")]] = KazvTrigger;
101
102 using KazvTriggerList = immer::flex_vector<KazvTrigger>;
103 using KazvEventList [[deprecated("renamed to KazvTriggerList")]] = KazvTriggerList;
104}
Definition event.hpp:21
Definition location.hpp:10
KazvTriggerList KazvEventList
Definition kazv-triggers.hpp:103
KazvTrigger KazvEvent
Definition kazv-triggers.hpp:100
immer::flex_vector< KazvTrigger > KazvTriggerList
Definition kazv-triggers.hpp:102
RoomMembership
Definition types.hpp:128
std::variant< std::monostate, ReceivingPresenceEvent, ReceivingAccountDataEvent, ReceivingRoomTimelineEvent, ReceivingRoomStateEvent, RoomMembershipChanged, ReceivingRoomAccountDataEvent, ReceivingToDeviceMessage, LoginSuccessful, LoginFailed, SaveEventsRequested, UnrecognizedResponse > KazvTrigger
Definition kazv-triggers.hpp:99
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