diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2020-06-14 17:23:54 +0200 |
---|---|---|
committer | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2020-06-14 17:23:54 +0200 |
commit | a2520bae3677be9df0abcef7681a138a6c4ad849 (patch) | |
tree | 8c26e8ef5a7aad53d3593417ab3aad48a104cd6b /lib | |
parent | f85badbd7bae173871b7681322745c73b23aa512 (diff) | |
download | libquotient-a2520bae3677be9df0abcef7681a138a6c4ad849.tar.gz libquotient-a2520bae3677be9df0abcef7681a138a6c4ad849.zip |
quotient_common.h for common namespace things
The two main cases for this header file are:
* namespace QMatrixClient = Quotient should occur exactly once,
to respect ODR.
* Q_NAMESPACE for namespace Quotient (to enable Q_ENUM_NS, particularly)
must be defined exactly once, for the same reason.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/connection.h | 11 | ||||
-rw-r--r-- | lib/quotient_common.h | 29 | ||||
-rw-r--r-- | lib/util.h | 2 |
3 files changed, 30 insertions, 12 deletions
diff --git a/lib/connection.h b/lib/connection.h index e8373a10..47d1844e 100644 --- a/lib/connection.h +++ b/lib/connection.h @@ -21,6 +21,7 @@ #include "ssosession.h" #include "joinstate.h" #include "qt_connection_util.h" +#include "quotient_common.h" #include "csapi/login.h" #include "csapi/create_room.h" @@ -41,7 +42,6 @@ class Account; Q_DECLARE_METATYPE(Quotient::GetLoginFlowsJob::LoginFlow) namespace Quotient { -Q_NAMESPACE class Room; class User; @@ -114,15 +114,6 @@ static inline user_factory_t defaultUserFactory() return [](Connection* c, const QString& id) { return new T(id, c); }; } -/** Enumeration with flags defining the network job running policy - * So far only background/foreground flags are available. - * - * \sa Connection::callApi, Connection::run - */ -enum RunningPolicy { ForegroundRequest = 0x0, BackgroundRequest = 0x1 }; - -Q_ENUM_NS(RunningPolicy) - // Room ids, rather than room pointers, are used in the direct chat // map types because the library keeps Invite rooms separate from // rooms in Join and Leave state; and direct chats in account data diff --git a/lib/quotient_common.h b/lib/quotient_common.h new file mode 100644 index 00000000..44541b42 --- /dev/null +++ b/lib/quotient_common.h @@ -0,0 +1,29 @@ +#pragma once + +#include <qobjectdefs.h> + +namespace Quotient { +Q_NAMESPACE + +/** Enumeration with flags defining the network job running policy + * So far only background/foreground flags are available. + * + * \sa Connection::callApi, Connection::run + */ +enum RunningPolicy { ForegroundRequest = 0x0, BackgroundRequest = 0x1 }; + +Q_ENUM_NS(RunningPolicy) + +enum ResourceResolveResult : short { + StillResolving = -1, + Resolved = 0, + UnknownMatrixId, + MalformedMatrixId, + NoAccount, + EmptyMatrixId +}; +Q_ENUM_NS(ResourceResolveResult) + +} // namespace Quotient +/// \deprecated Use namespace Quotient instead +namespace QMatrixClient = Quotient; @@ -294,5 +294,3 @@ qreal stringToHueF(const QString& s); /** Extract the serverpart from MXID */ QString serverPart(const QString& mxId); } // namespace Quotient -/// \deprecated Use namespace Quotient instead -namespace QMatrixClient = Quotient; |