mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
e327ed4166
* Fix include path for magic enum * Update .clang-format to ensure magic enum is caught as a third party library
45 lines
1,018 B
C++
45 lines
1,018 B
C++
#pragma once
|
|
|
|
#include <magic_enum/magic_enum.hpp>
|
|
#include <QJsonObject>
|
|
#include <QString>
|
|
|
|
namespace chatterino {
|
|
|
|
struct PubSubChatModeratorActionMessage {
|
|
enum class Type {
|
|
ModerationAction,
|
|
ChannelTermsAction,
|
|
|
|
INVALID,
|
|
};
|
|
|
|
QString typeString;
|
|
Type type = Type::INVALID;
|
|
|
|
QJsonObject data;
|
|
|
|
PubSubChatModeratorActionMessage(const QJsonObject &root);
|
|
};
|
|
|
|
} // namespace chatterino
|
|
|
|
template <>
|
|
constexpr magic_enum::customize::customize_t magic_enum::customize::enum_name<
|
|
chatterino::PubSubChatModeratorActionMessage::Type>(
|
|
chatterino::PubSubChatModeratorActionMessage::Type value) noexcept
|
|
{
|
|
switch (value)
|
|
{
|
|
case chatterino::PubSubChatModeratorActionMessage::Type::
|
|
ModerationAction:
|
|
return "moderation_action";
|
|
|
|
case chatterino::PubSubChatModeratorActionMessage::Type::
|
|
ChannelTermsAction:
|
|
return "channel_terms_action";
|
|
|
|
default:
|
|
return default_tag;
|
|
}
|
|
}
|