LeechCraft Azoth
0.6.70-18808-g3467692359
Modular multiprotocol IM plugin for LeechCraft
Toggle main menu visibility
Loading...
Searching...
No Matches
mucevents.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <cstdint>
12
#include <optional>
13
#include <variant>
14
#include <QMap>
15
#include <QString>
16
17
namespace
LC::Azoth
18
{
19
class
ICLEntry
;
20
21
using
MUCPerms_t
= QMap<QByteArray, QList<QByteArray>>;
22
}
23
24
namespace
LC::Azoth::MucEvents
25
{
26
enum class
Liveness
: std::uint8_t
27
{
28
Historical
,
29
Live
,
30
};
31
32
struct
ParticipantLeft
{ QString
Message_
; };
33
34
struct
ParticipantForcedOut
35
{
36
ICLEntry
*
Actor_
=
nullptr
;
37
QString
Reason_
;
38
39
enum class
Action
: std::uint8_t
40
{
41
Kicked
,
42
Banned
,
43
}
Action_
;
44
};
45
46
using
ParticipantLeaveInfo
= std::variant<ParticipantLeft, ParticipantForcedOut>;
47
48
struct
SubjectChange
49
{
50
QString
Subject_
;
51
std::optional<QString>
ActorNick_
{};
52
std::optional<Liveness>
Liveness_
{};
53
};
54
55
struct
ParticipantPermsChange
56
{
57
ICLEntry
&
Participant_
;
58
QString
Reason_
;
59
ICLEntry
*
Actor_
=
nullptr
;
60
61
std::optional<MUCPerms_t>
PrevPerms_
;
62
};
63
}
LC::Azoth::ICLEntry
Represents a single entry in contact list.
Definition
iclentry.h:49
LC::Azoth::MucEvents
Definition
mucevents.h:25
LC::Azoth::MucEvents::Liveness
Liveness
Definition
mucevents.h:27
LC::Azoth::MucEvents::Liveness::Historical
@ Historical
Definition
mucevents.h:28
LC::Azoth::MucEvents::Liveness::Live
@ Live
Definition
mucevents.h:29
LC::Azoth::MucEvents::ParticipantLeaveInfo
std::variant< ParticipantLeft, ParticipantForcedOut > ParticipantLeaveInfo
Definition
mucevents.h:46
LC::Azoth
Definition
activityinfo.h:16
LC::Azoth::MUCPerms_t
QMap< QByteArray, QList< QByteArray > > MUCPerms_t
Definition
mucevents.h:21
LC::Azoth::MucEvents::ParticipantForcedOut
Definition
mucevents.h:35
LC::Azoth::MucEvents::ParticipantForcedOut::Actor_
ICLEntry * Actor_
Definition
mucevents.h:36
LC::Azoth::MucEvents::ParticipantForcedOut::Action
Action
Definition
mucevents.h:40
LC::Azoth::MucEvents::ParticipantForcedOut::Action::Banned
@ Banned
Definition
mucevents.h:42
LC::Azoth::MucEvents::ParticipantForcedOut::Action::Kicked
@ Kicked
Definition
mucevents.h:41
LC::Azoth::MucEvents::ParticipantForcedOut::Action_
enum LC::Azoth::MucEvents::ParticipantForcedOut::Action Action_
LC::Azoth::MucEvents::ParticipantForcedOut::Reason_
QString Reason_
Definition
mucevents.h:37
LC::Azoth::MucEvents::ParticipantLeft
Definition
mucevents.h:32
LC::Azoth::MucEvents::ParticipantLeft::Message_
QString Message_
Definition
mucevents.h:32
LC::Azoth::MucEvents::ParticipantPermsChange
Definition
mucevents.h:56
LC::Azoth::MucEvents::ParticipantPermsChange::Actor_
ICLEntry * Actor_
Definition
mucevents.h:59
LC::Azoth::MucEvents::ParticipantPermsChange::Participant_
ICLEntry & Participant_
Definition
mucevents.h:57
LC::Azoth::MucEvents::ParticipantPermsChange::Reason_
QString Reason_
Definition
mucevents.h:58
LC::Azoth::MucEvents::ParticipantPermsChange::PrevPerms_
std::optional< MUCPerms_t > PrevPerms_
Definition
mucevents.h:61
LC::Azoth::MucEvents::SubjectChange
Definition
mucevents.h:49
LC::Azoth::MucEvents::SubjectChange::ActorNick_
std::optional< QString > ActorNick_
Definition
mucevents.h:51
LC::Azoth::MucEvents::SubjectChange::Liveness_
std::optional< Liveness > Liveness_
Definition
mucevents.h:52
LC::Azoth::MucEvents::SubjectChange::Subject_
QString Subject_
Definition
mucevents.h:50
src
plugins
azoth
interfaces
azoth
mucevents.h
Generated by
1.17.0