libQuotient
A Qt library for building matrix clients
|
Go to the source code of this file.
Namespaces | |
Quotient | |
Macros | |
#define | QUO_DECLARE_FLAGS(Flags, Enum) |
Quotient replacement for the Q_FLAG/Q_DECLARE_FLAGS combination. More... | |
#define | QUO_DECLARE_FLAGS_NS(Flags, Enum) |
Quotient replacement for the Q_FLAG_NS/Q_DECLARE_FLAGS combination. More... | |
Enumerations | |
enum class | Quotient::Membership : uint16_t { Quotient::Invalid = 0x0 , Quotient::Join = 0x1 , Quotient::Leave = 0x2 , Quotient::Invite = 0x4 , Quotient::Knock = 0x8 , Quotient::Ban = 0x10 , Quotient::Undefined = Invalid } |
Membership states. More... | |
enum class | Quotient::JoinState : std::underlying_type_t< Membership > { Quotient::Invalid = std::underlying_type_t<Membership>(Membership::Invalid) , Quotient::Join = std::underlying_type_t<Membership>(Membership::Join) , Quotient::Leave = std::underlying_type_t<Membership>(Membership::Leave) , Quotient::Invite = std::underlying_type_t<Membership>(Membership::Invite) , Quotient::Knock = std::underlying_type_t<Membership>(Membership::Knock) } |
Local user join-state names. More... | |
enum | Quotient::RunningPolicy { Quotient::ForegroundRequest = 0x0 , Quotient::BackgroundRequest = 0x1 } |
Network job running policy flags. More... | |
enum | Quotient::UriResolveResult : int8_t { Quotient::StillResolving = -1 , Quotient::UriResolved = 0 , Quotient::CouldNotResolve , Quotient::IncorrectAction , Quotient::InvalidUri , Quotient::NoAccount } |
The result of URI resolution using UriResolver. More... | |
enum class | Quotient::RoomType : uint8_t { Quotient::Space = 0 , Quotient::Undefined = 0xFF } |
enum class | Quotient::EncryptionType : uint8_t { Quotient::MegolmV1AesSha2 = 0 , Quotient::Undefined = 0xFF } |
Variables | |
constexpr std::array | Quotient::MembershipStrings |
constexpr std::array | Quotient::JoinStateStrings |
constexpr std::array | Quotient::RoomTypeStrings { "m.space"_L1 } |
#define QUO_DECLARE_FLAGS | ( | Flags, | |
Enum | |||
) |
Quotient replacement for the Q_FLAG/Q_DECLARE_FLAGS combination.
Although the comment in QTBUG-82295 says that Q_FLAG[NS] "should" be applied to the enum type only, Qt then doesn't allow to wrap the corresponding flag type (defined with Q_DECLARE_FLAGS) into a QVariant. This macro defines Q_FLAG and on top of that adds Q_ENUM_IMPL which is a part of Q_ENUM() macro that enables the metatype data but goes under the moc radar to avoid double registration of the same data in the map defined in moc*.cpp.
Simply put, instead of using Q_FLAG/Q_DECLARE_FLAGS combo (and struggling to figure out what you should pass to Q_FLAG if you want to make it wrappable in a QVariant) use the macro below, and things will just work.
Definition at line 29 of file quotient_common.h.
#define QUO_DECLARE_FLAGS_NS | ( | Flags, | |
Enum | |||
) |
Quotient replacement for the Q_FLAG_NS/Q_DECLARE_FLAGS combination.
This is the equivalent of QUO_DECLARE_FLAGS for enums declared at the namespace level (be sure to provide Q_NAMESPACE in the same file as the enum definition and this macro).
Definition at line 40 of file quotient_common.h.