aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/qmc-example.cpp7
-rw-r--r--lib/avatar.cpp15
-rw-r--r--lib/avatar.h6
-rw-r--r--lib/connection.cpp79
-rw-r--r--lib/connection.h21
-rw-r--r--lib/connectiondata.cpp7
-rw-r--r--lib/connectiondata.h6
-rw-r--r--lib/converters.h97
-rw-r--r--lib/e2ee.h3
-rw-r--r--lib/encryptionmanager.cpp3
-rw-r--r--lib/encryptionmanager.h9
-rw-r--r--lib/eventitem.h24
-rw-r--r--lib/events/accountdataevents.h50
-rw-r--r--lib/events/callanswerevent.h6
-rw-r--r--lib/events/callcandidatesevent.h6
-rw-r--r--lib/events/callhangupevent.h6
-rw-r--r--lib/events/callinviteevent.h6
-rw-r--r--lib/events/directchatevent.h10
-rw-r--r--lib/events/encryptedevent.h6
-rw-r--r--lib/events/encryptionevent.cpp6
-rw-r--r--lib/events/encryptionevent.h15
-rw-r--r--lib/events/event.cpp4
-rw-r--r--lib/events/event.h24
-rw-r--r--lib/events/eventcontent.cpp3
-rw-r--r--lib/events/eventcontent.h46
-rw-r--r--lib/events/eventloader.h9
-rw-r--r--lib/events/reactionevent.h16
-rw-r--r--lib/events/receiptevent.cpp3
-rw-r--r--lib/events/receiptevent.h12
-rw-r--r--lib/events/redactionevent.h9
-rw-r--r--lib/events/roomavatarevent.h9
-rw-r--r--lib/events/roomcreateevent.h13
-rw-r--r--lib/events/roomevent.cpp3
-rw-r--r--lib/events/roomevent.h9
-rw-r--r--lib/events/roommemberevent.cpp6
-rw-r--r--lib/events/roommemberevent.h22
-rw-r--r--lib/events/roommessageevent.cpp12
-rw-r--r--lib/events/roommessageevent.h24
-rw-r--r--lib/events/roomtombstoneevent.h10
-rw-r--r--lib/events/simplestateevents.h25
-rw-r--r--lib/events/stateevent.h21
-rw-r--r--lib/events/typingevent.cpp3
-rw-r--r--lib/events/typingevent.h6
-rw-r--r--lib/jobs/basejob.cpp6
-rw-r--r--lib/jobs/basejob.h35
-rw-r--r--lib/jobs/downloadfilejob.cpp7
-rw-r--r--lib/jobs/downloadfilejob.h11
-rw-r--r--lib/jobs/mediathumbnailjob.h6
-rw-r--r--lib/jobs/postreadmarkersjob.h3
-rw-r--r--lib/jobs/requestdata.cpp12
-rw-r--r--lib/jobs/requestdata.h9
-rw-r--r--lib/jobs/syncjob.h6
-rw-r--r--lib/joinstate.h6
-rw-r--r--lib/logging.h3
-rw-r--r--lib/networkaccessmanager.cpp6
-rw-r--r--lib/networkaccessmanager.h6
-rw-r--r--lib/networksettings.h6
-rw-r--r--lib/qt_connection_util.h12
-rw-r--r--lib/room.cpp35
-rw-r--r--lib/room.h28
-rw-r--r--lib/settings.h16
-rw-r--r--lib/syncdata.h15
-rw-r--r--lib/user.cpp6
-rw-r--r--lib/user.h6
-rw-r--r--lib/util.cpp18
-rw-r--r--lib/util.h64
66 files changed, 335 insertions, 664 deletions
diff --git a/examples/qmc-example.cpp b/examples/qmc-example.cpp
index d6cba76a..f4067009 100644
--- a/examples/qmc-example.cpp
+++ b/examples/qmc-example.cpp
@@ -24,8 +24,7 @@ using std::cout;
using std::endl;
using namespace std::placeholders;
-class QMCTest : public QObject
-{
+class QMCTest : public QObject {
public:
QMCTest(Connection* conn, QString testRoomName, QString source);
@@ -92,9 +91,7 @@ bool QMCTest::validatePendingEvent(const QString& txnId)
}
QMCTest::QMCTest(Connection* conn, QString testRoomName, QString source)
- : c(conn)
- , origin(std::move(source))
- , targetRoomName(std::move(testRoomName))
+ : c(conn), origin(std::move(source)), targetRoomName(std::move(testRoomName))
{
if (!origin.isEmpty())
cout << "Origin for the test message: " << origin.toStdString() << endl;
diff --git a/lib/avatar.cpp b/lib/avatar.cpp
index 0e58a1ce..614f008d 100644
--- a/lib/avatar.cpp
+++ b/lib/avatar.cpp
@@ -32,12 +32,9 @@
using namespace QMatrixClient;
using std::move;
-class Avatar::Private
-{
+class Avatar::Private {
public:
- explicit Private(QUrl url = {})
- : _url(move(url))
- {}
+ explicit Private(QUrl url = {}) : _url(move(url)) {}
~Private()
{
if (isJobRunning(_thumbnailRequest))
@@ -65,13 +62,9 @@ public:
mutable std::vector<get_callback_t> callbacks;
};
-Avatar::Avatar()
- : d(std::make_unique<Private>())
-{}
+Avatar::Avatar() : d(std::make_unique<Private>()) {}
-Avatar::Avatar(QUrl url)
- : d(std::make_unique<Private>(std::move(url)))
-{}
+Avatar::Avatar(QUrl url) : d(std::make_unique<Private>(std::move(url))) {}
Avatar::Avatar(Avatar&&) = default;
diff --git a/lib/avatar.h b/lib/avatar.h
index 37991192..c33e1982 100644
--- a/lib/avatar.h
+++ b/lib/avatar.h
@@ -24,12 +24,10 @@
#include <functional>
#include <memory>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class Connection;
-class Avatar
-{
+class Avatar {
public:
explicit Avatar();
explicit Avatar(QUrl url);
diff --git a/lib/connection.cpp b/lib/connection.cpp
index 6ebe05dc..6cd6ad0b 100644
--- a/lib/connection.cpp
+++ b/lib/connection.cpp
@@ -70,8 +70,7 @@ HashT erase_if(HashT& hashMap, Pred pred)
return removals;
}
-class Connection::Private
-{
+class Connection::Private {
public:
explicit Private(std::unique_ptr<ConnectionData>&& connection)
: data(move(connection))
@@ -151,15 +150,12 @@ public:
};
Connection::Connection(const QUrl& server, QObject* parent)
- : QObject(parent)
- , d(new Private(std::make_unique<ConnectionData>(server)))
+ : QObject(parent), d(new Private(std::make_unique<ConnectionData>(server)))
{
d->q = this; // All d initialization should occur before this line
}
-Connection::Connection(QObject* parent)
- : Connection({}, parent)
-{}
+Connection::Connection(QObject* parent) : Connection({}, parent) {}
Connection::~Connection()
{
@@ -183,45 +179,47 @@ void Connection::resolveServer(const QString& mxid)
qCDebug(MAIN) << "Finding the server" << domain;
auto getWellKnownJob = callApi<GetWellknownJob>();
- connect(getWellKnownJob, &BaseJob::finished,
- [this, getWellKnownJob, maybeBaseUrl] {
- if (getWellKnownJob->status() == BaseJob::NotFoundError) {
- qCDebug(MAIN) << "No .well-known file, IGNORE";
- } else if (getWellKnownJob->status() != BaseJob::Success) {
+ connect(
+ getWellKnownJob, &BaseJob::finished,
+ [this, getWellKnownJob, maybeBaseUrl] {
+ if (getWellKnownJob->status() == BaseJob::NotFoundError)
+ qCDebug(MAIN) << "No .well-known file, IGNORE";
+ else {
+ if (getWellKnownJob->status() != BaseJob::Success) {
qCDebug(MAIN)
<< "Fetching .well-known file failed, FAIL_PROMPT";
emit resolveError(tr("Fetching .well-known file failed"));
return;
- } else if (getWellKnownJob->data().homeserver.baseUrl.isEmpty()) {
+ }
+ QUrl baseUrl(getWellKnownJob->data().homeserver.baseUrl);
+ if (baseUrl.isEmpty()) {
qCDebug(MAIN) << "base_url not provided, FAIL_PROMPT";
emit resolveError(tr("base_url not provided"));
return;
- } else if (!QUrl(getWellKnownJob->data().homeserver.baseUrl)
- .isValid()) {
+ }
+ if (!baseUrl.isValid()) {
qCDebug(MAIN) << "base_url invalid, FAIL_ERROR";
emit resolveError(tr("base_url invalid"));
return;
- } else {
- QUrl baseUrl(getWellKnownJob->data().homeserver.baseUrl);
-
- qCDebug(MAIN) << ".well-known for" << maybeBaseUrl.host()
- << "is" << baseUrl.toString();
- setHomeserver(baseUrl);
}
- auto getVersionsJob = callApi<GetVersionsJob>();
-
- connect(getVersionsJob, &BaseJob::finished,
- [this, getVersionsJob] {
- if (getVersionsJob->status() == BaseJob::Success) {
- qCDebug(MAIN) << "homeserver url is valid";
- emit resolved();
- } else {
- qCDebug(MAIN) << "homeserver url invalid";
- emit resolveError(tr("homeserver url invalid"));
- }
- });
+ qCDebug(MAIN) << ".well-known for" << maybeBaseUrl.host()
+ << "is" << baseUrl.toString();
+ setHomeserver(baseUrl);
+ }
+
+ auto getVersionsJob = callApi<GetVersionsJob>();
+
+ connect(getVersionsJob, &BaseJob::finished, [this, getVersionsJob] {
+ if (getVersionsJob->status() == BaseJob::Success) {
+ qCDebug(MAIN) << "homeserver url is valid";
+ emit resolved();
+ } else {
+ qCDebug(MAIN) << "homeserver url invalid";
+ emit resolveError(tr("homeserver url invalid"));
+ }
});
+ });
}
void Connection::connectToServer(const QString& user, const QString& password,
@@ -372,8 +370,8 @@ void Connection::sync(int timeout)
connect(job, &SyncJob::failure, this, [this, job] {
d->syncJob = nullptr;
if (job->error() == BaseJob::ContentAccessError) {
- qCWarning(SYNCJOB)
- << "Sync job failed with ContentAccessError - login expired?";
+ qCWarning(SYNCJOB) << "Sync job failed with ContentAccessError - "
+ "login expired?";
emit loginError(job->errorString(), job->rawDataSample());
} else
emit syncError(job->errorString(), job->rawDataSample());
@@ -437,7 +435,6 @@ void Connection::onSyncSuccess(SyncData&& data, bool fromCache)
visit(
*eventPtr,
[this](const DirectChatEvent& dce) {
- // See
// https://github.com/QMatrixClient/libqmatrixclient/wiki/Handling-direct-chat-events
const auto& usersToDCs = dce.usersToDirectChats();
DirectChatsMap remoteRemovals =
@@ -492,8 +489,8 @@ void Connection::onSyncSuccess(SyncData&& data, bool fromCache)
<< QStringList::fromSet(ignoredUsers()).join(',');
auto& currentData = d->accountData[accountEvent.matrixType()];
- // A polymorphic event-specific comparison might be a bit more
- // efficient; maaybe do it another day
+ // A polymorphic event-specific comparison might be a bit
+ // more efficient; maaybe do it another day
if (!currentData
|| currentData->contentJson() != accountEvent.contentJson()) {
currentData = std::move(eventPtr);
@@ -678,9 +675,9 @@ void Connection::requestDirectChat(const QString& userId)
if (auto* u = user(userId))
requestDirectChat(u);
else
- qCCritical(MAIN)
- << "Connection::requestDirectChat: Couldn't get a user object for"
- << userId;
+ qCCritical(MAIN) << "Connection::requestDirectChat: Couldn't get a "
+ "user object for"
+ << userId;
}
void Connection::requestDirectChat(User* u)
diff --git a/lib/connection.h b/lib/connection.h
index 8d65f0e7..b89c0c65 100644
--- a/lib/connection.h
+++ b/lib/connection.h
@@ -32,13 +32,11 @@
#include <functional>
-namespace QtOlm
-{
+namespace QtOlm {
class Account;
}
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class Room;
class User;
class ConnectionData;
@@ -93,14 +91,9 @@ static inline user_factory_t defaultUserFactory()
*
* \sa Connection::callApi
*/
-enum RunningPolicy
-{
- ForegroundRequest = 0x0,
- BackgroundRequest = 0x1
-};
+enum RunningPolicy { ForegroundRequest = 0x0, BackgroundRequest = 0x1 };
-class Connection : public QObject
-{
+class Connection : public QObject {
Q_OBJECT
Q_PROPERTY(User* localUser READ user NOTIFY stateChanged)
@@ -129,8 +122,7 @@ public:
using UsersToDevicesToEvents =
std::unordered_map<QString, std::unordered_map<QString, const Event&>>;
- enum RoomVisibility
- {
+ enum RoomVisibility {
PublishRoom,
UnpublishRoom
}; // FIXME: Should go inside CreateRoomJob
@@ -285,8 +277,7 @@ public:
Q_INVOKABLE void getTurnServers();
- struct SupportedRoomVersion
- {
+ struct SupportedRoomVersion {
QString id;
QString status;
diff --git a/lib/connectiondata.cpp b/lib/connectiondata.cpp
index c157565f..df4cece2 100644
--- a/lib/connectiondata.cpp
+++ b/lib/connectiondata.cpp
@@ -23,11 +23,8 @@
using namespace QMatrixClient;
-struct ConnectionData::Private
-{
- explicit Private(QUrl url)
- : baseUrl(std::move(url))
- {}
+struct ConnectionData::Private {
+ explicit Private(QUrl url) : baseUrl(std::move(url)) {}
QUrl baseUrl;
QByteArray accessToken;
diff --git a/lib/connectiondata.h b/lib/connectiondata.h
index 6f9f090c..9b579b1c 100644
--- a/lib/connectiondata.h
+++ b/lib/connectiondata.h
@@ -24,10 +24,8 @@
class QNetworkAccessManager;
-namespace QMatrixClient
-{
-class ConnectionData
-{
+namespace QMatrixClient {
+class ConnectionData {
public:
explicit ConnectionData(QUrl baseUrl);
virtual ~ConnectionData();
diff --git a/lib/converters.h b/lib/converters.h
index aa07261d..0085fa4b 100644
--- a/lib/converters.h
+++ b/lib/converters.h
@@ -38,11 +38,9 @@ using optional = std::experimental::optional<T>;
#endif
// Enable std::unordered_map<QString, T>
-namespace std
-{
+namespace std {
template <>
-struct hash<QString>
-{
+struct hash<QString> {
size_t operator()(const QString& s) const Q_DECL_NOEXCEPT
{
return qHash(s
@@ -57,18 +55,15 @@ struct hash<QString>
class QVariant;
-namespace QMatrixClient
-{
+namespace QMatrixClient {
template <typename T>
-struct JsonObjectConverter
-{
+struct JsonObjectConverter {
static void dumpTo(QJsonObject& jo, const T& pod) { jo = pod.toJson(); }
static void fillFrom(const QJsonObject& jo, T& pod) { pod = T(jo); }
};
template <typename T>
-struct JsonConverter
-{
+struct JsonConverter {
static QJsonObject dump(const T& pod)
{
QJsonObject jo;
@@ -139,52 +134,44 @@ inline void fillFromJson(const QJsonValue& jv, T& pod)
// JsonConverter<> specialisations
template <typename T>
-struct TrivialJsonDumper
-{
+struct TrivialJsonDumper {
// Works for: QJsonValue (and all things it can consume),
// QJsonObject, QJsonArray
static auto dump(const T& val) { return val; }
};
template <>
-struct JsonConverter<bool> : public TrivialJsonDumper<bool>
-{
+struct JsonConverter<bool> : public TrivialJsonDumper<bool> {
static auto load(const QJsonValue& jv) { return jv.toBool(); }
};
template <>
-struct JsonConverter<int> : public TrivialJsonDumper<int>
-{
+struct JsonConverter<int> : public TrivialJsonDumper<int> {
static auto load(const QJsonValue& jv) { return jv.toInt(); }
};
template <>
-struct JsonConverter<double> : public TrivialJsonDumper<double>
-{
+struct JsonConverter<double> : public TrivialJsonDumper<double> {
static auto load(const QJsonValue& jv) { return jv.toDouble(); }
};
template <>
-struct JsonConverter<float> : public TrivialJsonDumper<float>
-{
+struct JsonConverter<float> : public TrivialJsonDumper<float> {
static auto load(const QJsonValue& jv) { return float(jv.toDouble()); }
};
template <>
-struct JsonConverter<qint64> : public TrivialJsonDumper<qint64>
-{
+struct JsonConverter<qint64> : public TrivialJsonDumper<qint64> {
static auto load(const QJsonValue& jv) { return qint64(jv.toDouble()); }
};
template <>
-struct JsonConverter<QString> : public TrivialJsonDumper<QString>
-{
+struct JsonConverter<QString> : public TrivialJsonDumper<QString> {
static auto load(const QJsonValue& jv) { return jv.toString(); }
};
template <>
-struct JsonConverter<QDateTime>
-{
+struct JsonConverter<QDateTime> {
static auto dump(const QDateTime& val) = delete; // not provided yet
static auto load(const QJsonValue& jv)
{
@@ -193,8 +180,7 @@ struct JsonConverter<QDateTime>
};
template <>
-struct JsonConverter<QDate>
-{
+struct JsonConverter<QDate> {
static auto dump(const QDate& val) = delete; // not provided yet
static auto load(const QJsonValue& jv)
{
@@ -203,14 +189,12 @@ struct JsonConverter<QDate>
};
template <>
-struct JsonConverter<QJsonArray> : public TrivialJsonDumper<QJsonArray>
-{
+struct JsonConverter<QJsonArray> : public TrivialJsonDumper<QJsonArray> {
static auto load(const QJsonValue& jv) { return jv.toArray(); }
};
template <>
-struct JsonConverter<QByteArray>
-{
+struct JsonConverter<QByteArray> {
static QString dump(const QByteArray& ba) { return ba.constData(); }
static auto load(const QJsonValue& jv)
{
@@ -219,15 +203,13 @@ struct JsonConverter<QByteArray>
};
template <>
-struct JsonConverter<QVariant>
-{
+struct JsonConverter<QVariant> {
static QJsonValue dump(const QVariant& v);
static QVariant load(const QJsonValue& jv);
};
template <typename T>
-struct JsonConverter<Omittable<T>>
-{
+struct JsonConverter<Omittable<T>> {
static QJsonValue dump(const Omittable<T>& from)
{
return from.omitted() ? QJsonValue() : toJson(from.value());
@@ -241,8 +223,7 @@ struct JsonConverter<Omittable<T>>
};
template <typename VectorT, typename T = typename VectorT::value_type>
-struct JsonArrayConverter
-{
+struct JsonArrayConverter {
static void dumpTo(QJsonArray& ar, const VectorT& vals)
{
for (const auto& v : vals)
@@ -267,20 +248,17 @@ struct JsonArrayConverter
};
template <typename T>
-struct JsonConverter<std::vector<T>> : public JsonArrayConverter<std::vector<T>>
-{};
+struct JsonConverter<std::vector<T>>
+ : public JsonArrayConverter<std::vector<T>> {};
template <typename T>
-struct JsonConverter<QVector<T>> : public JsonArrayConverter<QVector<T>>
-{};
+struct JsonConverter<QVector<T>> : public JsonArrayConverter<QVector<T>> {};
template <typename T>
-struct JsonConverter<QList<T>> : public JsonArrayConverter<QList<T>>
-{};
+struct JsonConverter<QList<T>> : public JsonArrayConverter<QList<T>> {};
template <>
-struct JsonConverter<QStringList> : public JsonConverter<QList<QString>>
-{
+struct JsonConverter<QStringList> : public JsonConverter<QList<QString>> {
static auto dump(const QStringList& sl)
{
return QJsonArray::fromStringList(sl);
@@ -288,8 +266,7 @@ struct JsonConverter<QStringList> : public JsonConverter<QList<QString>>
};
template <>
-struct JsonObjectConverter<QSet<QString>>
-{
+struct JsonObjectConverter<QSet<QString>> {
static void dumpTo(QJsonObject& json, const QSet<QString>& s)
{
for (const auto& e : s)
@@ -305,8 +282,7 @@ struct JsonObjectConverter<QSet<QString>>
};
template <typename HashMapT>
-struct HashMapFromJson
-{
+struct HashMapFromJson {
static void dumpTo(QJsonObject& json, const HashMapT& hashMap)
{
for (auto it = hashMap.begin(); it != hashMap.end(); ++it)
@@ -322,13 +298,11 @@ struct HashMapFromJson
template <typename T>
struct JsonObjectConverter<std::unordered_map<QString, T>>
- : public HashMapFromJson<std::unordered_map<QString, T>>
-{};
+ : public HashMapFromJson<std::unordered_map<QString, T>> {};
template <typename T>
struct JsonObjectConverter<QHash<QString, T>>
- : public HashMapFromJson<QHash<QString, T>>
-{};
+ : public HashMapFromJson<QHash<QString, T>> {};
// We could use std::conditional<> below but QT_VERSION* macros in C++ code
// cause (kinda valid but useless and noisy) compiler warnings about
@@ -340,16 +314,14 @@ using variant_map_t =
QVariantMap;
#endif
template <>
-struct JsonConverter<variant_map_t>
-{
+struct JsonConverter<variant_map_t> {
static QJsonObject dump(const variant_map_t& vh);
static QVariantHash load(const QJsonValue& jv);
};
// Conditional insertion into a QJsonObject
-namespace _impl
-{
+namespace _impl {
template <typename ValT>
inline void addTo(QJsonObject& o, const QString& k, ValT&& v)
{
@@ -384,8 +356,7 @@ namespace _impl
// This one is for types that don't have isEmpty() and for all types
// when Force is true
template <typename ValT, bool Force = true, typename = bool>
- struct AddNode
- {
+ struct AddNode {
template <typename ContT, typename ForwardedT>
static void impl(ContT& container, const QString& key,
ForwardedT&& value)
@@ -396,8 +367,7 @@ namespace _impl
// This one is for types that have isEmpty() when Force is false
template <typename ValT>
- struct AddNode<ValT, false, decltype(std::declval<ValT>().isEmpty())>
- {
+ struct AddNode<ValT, false, decltype(std::declval<ValT>().isEmpty())> {
template <typename ContT, typename ForwardedT>
static void impl(ContT& container, const QString& key,
ForwardedT&& value)
@@ -409,8 +379,7 @@ namespace _impl
// This one unfolds Omittable<> (also only when Force is false)
template <typename ValT>
- struct AddNode<Omittable<ValT>, false>
- {
+ struct AddNode<Omittable<ValT>, false> {
template <typename ContT, typename OmittableT>
static void impl(ContT& container, const QString& key,
const OmittableT& value)
diff --git a/lib/e2ee.h b/lib/e2ee.h
index d3329def..c85211be 100644
--- a/lib/e2ee.h
+++ b/lib/e2ee.h
@@ -4,8 +4,7 @@
#include <QtCore/QStringList>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
static const auto CiphertextKeyL = "ciphertext"_ls;
static const auto SenderKeyKeyL = "sender_key"_ls;
static const auto DeviceIdKeyL = "device_id"_ls;
diff --git a/lib/encryptionmanager.cpp b/lib/encryptionmanager.cpp
index 46d937b8..15723688 100644
--- a/lib/encryptionmanager.cpp
+++ b/lib/encryptionmanager.cpp
@@ -16,8 +16,7 @@ using namespace QMatrixClient;
using namespace QtOlm;
using std::move;
-class EncryptionManager::Private
-{
+class EncryptionManager::Private {
public:
explicit Private(const QByteArray& encryptionAccountPickle,
float signedKeysProportion, float oneTimeKeyThreshold)
diff --git a/lib/encryptionmanager.h b/lib/encryptionmanager.h
index 02bb882f..79c25a00 100644
--- a/lib/encryptionmanager.h
+++ b/lib/encryptionmanager.h
@@ -5,17 +5,14 @@
#include <functional>
#include <memory>
-namespace QtOlm
-{
+namespace QtOlm {
class Account;
}
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class Connection;
-class EncryptionManager : public QObject
-{
+class EncryptionManager : public QObject {
Q_OBJECT
public:
diff --git a/lib/eventitem.h b/lib/eventitem.h
index 58f5479c..68d1ae06 100644
--- a/lib/eventitem.h
+++ b/lib/eventitem.h
@@ -22,12 +22,10 @@
#include <utility>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class StateEventBase;
-class EventStatus
-{
+class EventStatus {
Q_GADGET
public:
/** Special marks an event can assume
@@ -35,8 +33,7 @@ public:
* This is used to hint at a special status of some events in UI.
* All values except Redacted and Hidden are mutually exclusive.
*/
- enum Code
- {
+ enum Code {
Normal = 0x0, //< No special designation
Submitted = 0x01, //< The event has just been submitted for sending
FileUploaded = 0x02, //< The file attached to the event has been
@@ -51,11 +48,9 @@ public:
Q_FLAG(Status)
};
-class EventItemBase
-{
+class EventItemBase {
public:
- explicit EventItemBase(RoomEventPtr&& e)
- : evt(std::move(e))
+ explicit EventItemBase(RoomEventPtr&& e) : evt(std::move(e))
{
Q_ASSERT(evt);
}
@@ -87,16 +82,14 @@ private:
RoomEventPtr evt;
};
-class TimelineItem : public EventItemBase
-{
+class TimelineItem : public EventItemBase {
public:
// For compatibility with Qt containers, even though we use
// a std:: container now for the room timeline
using index_t = int;
TimelineItem(RoomEventPtr&& e, index_t number)
- : EventItemBase(std::move(e))
- , idx(number)
+ : EventItemBase(std::move(e)), idx(number)
{}
index_t index() const { return idx; }
@@ -118,8 +111,7 @@ inline const CallEventBase* EventItemBase::viewAs<CallEventBase>() const
return evt->isCallEvent() ? weakPtrCast<const CallEventBase>(evt) : nullptr;
}
-class PendingEventItem : public EventItemBase
-{
+class PendingEventItem : public EventItemBase {
Q_GADGET
public:
using EventItemBase::EventItemBase;
diff --git a/lib/events/accountdataevents.h b/lib/events/accountdataevents.h
index abab9867..3f519668 100644
--- a/lib/events/accountdataevents.h
+++ b/lib/events/accountdataevents.h
@@ -24,20 +24,16 @@
#include "event.h"
#include "eventcontent.h"
-namespace QMatrixClient
-{
+namespace QMatrixClient {
constexpr const char* FavouriteTag = "m.favourite";
constexpr const char* LowPriorityTag = "m.lowpriority";
-struct TagRecord
-{
+struct TagRecord {
using order_type = Omittable<float>;
order_type order;
- TagRecord(order_type order = none)
- : order(order)
- {}
+ TagRecord(order_type order = none) : order(order) {}
bool operator<(const TagRecord& other) const
{
@@ -48,8 +44,7 @@ struct TagRecord
};
template <>
-struct JsonObjectConverter<TagRecord>
-{
+struct JsonObjectConverter<TagRecord> {
static void fillFrom(const QJsonObject& jo, TagRecord& rec)
{
// Parse a float both from JSON double and JSON string because
@@ -72,26 +67,23 @@ struct JsonObjectConverter<TagRecord>
using TagsMap = QHash<QString, TagRecord>;
-#define DEFINE_SIMPLE_EVENT(_Name, _TypeId, _ContentType, _ContentKey) \
- class _Name : public Event \
- { \
- public: \
- using content_type = _ContentType; \
- DEFINE_EVENT_TYPEID(_TypeId, _Name) \
- explicit _Name(QJsonObject obj) \
- : Event(typeId(), std::move(obj)) \
- {} \
- explicit _Name(_ContentType content) \
- : Event(typeId(), matrixTypeId(), \
- QJsonObject { { QStringLiteral(#_ContentKey), \
- toJson(std::move(content)) } }) \
- {} \
- auto _ContentKey() const \
- { \
- return content<content_type>(#_ContentKey##_ls); \
- } \
- }; \
- REGISTER_EVENT_TYPE(_Name) \
+#define DEFINE_SIMPLE_EVENT(_Name, _TypeId, _ContentType, _ContentKey) \
+ class _Name : public Event { \
+ public: \
+ using content_type = _ContentType; \
+ DEFINE_EVENT_TYPEID(_TypeId, _Name) \
+ explicit _Name(QJsonObject obj) : Event(typeId(), std::move(obj)) {} \
+ explicit _Name(_ContentType content) \
+ : Event(typeId(), matrixTypeId(), \
+ QJsonObject { { QStringLiteral(#_ContentKey), \
+ toJson(std::move(content)) } }) \
+ {} \
+ auto _ContentKey() const \
+ { \
+ return content<content_type>(#_ContentKey##_ls); \
+ } \
+ }; \
+ REGISTER_EVENT_TYPE(_Name) \
// End of macro
DEFINE_SIMPLE_EVENT(TagEvent, "m.tag", TagsMap, tags)
diff --git a/lib/events/callanswerevent.h b/lib/events/callanswerevent.h
index 69662eb9..052f732d 100644
--- a/lib/events/callanswerevent.h
+++ b/lib/events/callanswerevent.h
@@ -20,10 +20,8 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
-class CallAnswerEvent : public CallEventBase
-{
+namespace QMatrixClient {
+class CallAnswerEvent : public CallEventBase {
public:
DEFINE_EVENT_TYPEID("m.call.answer", CallAnswerEvent)
diff --git a/lib/events/callcandidatesevent.h b/lib/events/callcandidatesevent.h
index 1c12b800..2a915a43 100644
--- a/lib/events/callcandidatesevent.h
+++ b/lib/events/callcandidatesevent.h
@@ -20,10 +20,8 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
-class CallCandidatesEvent : public CallEventBase
-{
+namespace QMatrixClient {
+class CallCandidatesEvent : public CallEventBase {
public:
DEFINE_EVENT_TYPEID("m.call.candidates", CallCandidatesEvent)
diff --git a/lib/events/callhangupevent.h b/lib/events/callhangupevent.h
index 0a5a3283..97fa2f52 100644
--- a/lib/events/callhangupevent.h
+++ b/lib/events/callhangupevent.h
@@ -20,10 +20,8 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
-class CallHangupEvent : public CallEventBase
-{
+namespace QMatrixClient {
+class CallHangupEvent : public CallEventBase {
public:
DEFINE_EVENT_TYPEID("m.call.hangup", CallHangupEvent)
diff --git a/lib/events/callinviteevent.h b/lib/events/callinviteevent.h
index 4334ca5b..9b9d0ae5 100644
--- a/lib/events/callinviteevent.h
+++ b/lib/events/callinviteevent.h
@@ -20,10 +20,8 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
-class CallInviteEvent : public CallEventBase
-{
+namespace QMatrixClient {
+class CallInviteEvent : public CallEventBase {
public:
DEFINE_EVENT_TYPEID("m.call.invite", CallInviteEvent)
diff --git a/lib/events/directchatevent.h b/lib/events/directchatevent.h
index 6b4a08ee..94857a93 100644
--- a/lib/events/directchatevent.h
+++ b/lib/events/directchatevent.h
@@ -20,16 +20,12 @@
#include "event.h"
-namespace QMatrixClient
-{
-class DirectChatEvent : public Event
-{
+namespace QMatrixClient {
+class DirectChatEvent : public Event {
public:
DEFINE_EVENT_TYPEID("m.direct", DirectChatEvent)
- explicit DirectChatEvent(const QJsonObject& obj)
- : Event(typeId(), obj)
- {}
+ explicit DirectChatEvent(const QJsonObject& obj) : Event(typeId(), obj) {}
QMultiHash<QString, QString> usersToDirectChats() const;
};
diff --git a/lib/events/encryptedevent.h b/lib/events/encryptedevent.h
index 0dbce25c..67298a27 100644
--- a/lib/events/encryptedevent.h
+++ b/lib/events/encryptedevent.h
@@ -3,8 +3,7 @@
#include "e2ee.h"
#include "roomevent.h"
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class Room;
/*
* While the specification states:
@@ -24,8 +23,7 @@ class Room;
* in general. It's possible, because RoomEvent interface is similar to Event's
* one and doesn't add new restrictions, just provides additional features.
*/
-class EncryptedEvent : public RoomEvent
-{
+class EncryptedEvent : public RoomEvent {
Q_GADGET
public:
DEFINE_EVENT_TYPEID("m.room.encrypted", EncryptedEvent)
diff --git a/lib/events/encryptionevent.cpp b/lib/events/encryptionevent.cpp
index 995c8dad..0c732a51 100644
--- a/lib/events/encryptionevent.cpp
+++ b/lib/events/encryptionevent.cpp
@@ -15,11 +15,9 @@ static const std::array<QString, 1> encryptionStrings = {
{ QMatrixClient::MegolmV1AesSha2AlgoKey }
};
-namespace QMatrixClient
-{
+namespace QMatrixClient {
template <>
-struct JsonConverter<EncryptionType>
-{
+struct JsonConverter<EncryptionType> {
static EncryptionType load(const QJsonValue& jv)
{
const auto& encryptionString = jv.toString();
diff --git a/lib/events/encryptionevent.h b/lib/events/encryptionevent.h
index 97119c8d..debabcae 100644
--- a/lib/events/encryptionevent.h
+++ b/lib/events/encryptionevent.h
@@ -21,16 +21,10 @@
#include "eventcontent.h"
#include "stateevent.h"
-namespace QMatrixClient
-{
-class EncryptionEventContent : public EventContent::Base
-{
+namespace QMatrixClient {
+class EncryptionEventContent : public EventContent::Base {
public:
- enum EncryptionType : size_t
- {
- MegolmV1AesSha2 = 0,
- Undefined
- };
+ enum EncryptionType : size_t { MegolmV1AesSha2 = 0, Undefined };
explicit EncryptionEventContent(EncryptionType et = Undefined)
: encryption(et)
@@ -48,8 +42,7 @@ protected:
using EncryptionType = EncryptionEventContent::EncryptionType;
-class EncryptionEvent : public StateEvent<EncryptionEventContent>
-{
+class EncryptionEvent : public StateEvent<EncryptionEventContent> {
Q_GADGET
public:
DEFINE_EVENT_TYPEID("m.room.encryption", EncryptionEvent)
diff --git a/lib/events/event.cpp b/lib/events/event.cpp
index 718a6602..694254fe 100644
--- a/lib/events/event.cpp
+++ b/lib/events/event.cpp
@@ -42,9 +42,7 @@ QString EventTypeRegistry::getMatrixType(event_type_t typeId)
: QString();
}
-Event::Event(Type type, const QJsonObject& json)
- : _type(type)
- , _json(json)
+Event::Event(Type type, const QJsonObject& json) : _type(type), _json(json)
{
if (!json.contains(ContentKeyL)
&& !json.value(UnsignedKeyL).toObject().contains(RedactedCauseKeyL)) {
diff --git a/lib/events/event.h b/lib/events/event.h
index d6525281..686bd8e0 100644
--- a/lib/events/event.h
+++ b/lib/events/event.h
@@ -25,8 +25,7 @@
# define USE_EVENTTYPE_ALIAS 1
#endif
-namespace QMatrixClient
-{
+namespace QMatrixClient {
// === event_ptr_tt<> and type casting facilities ===
template <typename EventT>
@@ -85,8 +84,7 @@ inline QJsonObject basicEventJson(StrT matrixType, const QJsonObject& content)
using event_type_t = size_t;
using event_mtype_t = const char*;
-class EventTypeRegistry
-{
+class EventTypeRegistry {
public:
~EventTypeRegistry() = default;
@@ -121,8 +119,7 @@ inline event_type_t EventTypeRegistry::initializeTypeId<void>()
}
template <typename EventT>
-struct EventTypeTraits
-{
+struct EventTypeTraits {
static event_type_t id()
{
static const auto id = EventTypeRegistry::initializeTypeId<EventT>();
@@ -148,8 +145,7 @@ inline event_ptr_tt<EventT> makeEvent(ArgTs&&... args)
}
template <typename BaseEventT>
-class EventFactory
-{
+class EventFactory {
public:
template <typename FnT>
static auto addMethod(FnT&& method)
@@ -223,8 +219,7 @@ inline auto registerEventType()
// === Event ===
-class Event
-{
+class Event {
Q_GADGET
Q_PROPERTY(Type type READ type CONSTANT)
Q_PROPERTY(QJsonObject contentJson READ contentJson CONSTANT)
@@ -304,16 +299,14 @@ using Events = EventsArray<Event>;
// to enable its deserialisation from a /sync and other
// polymorphic event arrays
#define REGISTER_EVENT_TYPE(_Type) \
- namespace \
- { \
+ namespace { \
[[gnu::unused]] static const auto _factoryAdded##_Type = \
registerEventType<_Type>(); \
} \
// End of macro
#ifdef USE_EVENTTYPE_ALIAS
-namespace EventType
-{
+namespace EventType {
inline event_type_t logEventType(event_type_t id, const char* idName)
{
qDebug(EVENTS) << "Using id" << id << "for" << idName;
@@ -324,8 +317,7 @@ namespace EventType
// This macro provides constants in EventType:: namespace for
// back-compatibility with libQMatrixClient 0.3 event type system.
# define DEFINE_EVENTTYPE_ALIAS(_Id, _Type) \
- namespace EventType \
- { \
+ namespace EventType { \
[[deprecated("Use is<>(), eventCast<>() or " \
"visit<>()")]] static const auto _Id = \
logEventType(typeId<_Type>(), #_Id); \
diff --git a/lib/events/eventcontent.cpp b/lib/events/eventcontent.cpp
index 2b84c2b7..814f2787 100644
--- a/lib/events/eventcontent.cpp
+++ b/lib/events/eventcontent.cpp
@@ -70,8 +70,7 @@ void FileInfo::fillInfoJson(QJsonObject* infoJson) const
ImageInfo::ImageInfo(const QUrl& u, qint64 fileSize, QMimeType mimeType,
const QSize& imageSize, const QString& originalFilename)
- : FileInfo(u, fileSize, mimeType, originalFilename)
- , imageSize(imageSize)
+ : FileInfo(u, fileSize, mimeType, originalFilename), imageSize(imageSize)
{}
ImageInfo::ImageInfo(const QUrl& u, const QJsonObject& infoJson,
diff --git a/lib/events/eventcontent.h b/lib/events/eventcontent.h
index 7a3db1fc..5c0f92d1 100644
--- a/lib/events/eventcontent.h
+++ b/lib/events/eventcontent.h
@@ -26,10 +26,8 @@
#include <QtCore/QSize>
#include <QtCore/QUrl>
-namespace QMatrixClient
-{
-namespace EventContent
-{
+namespace QMatrixClient {
+namespace EventContent {
/**
* A base class for all content types that can be stored
* in a RoomMessageEvent
@@ -40,12 +38,9 @@ namespace EventContent
* assumed but not required that a content object can also be created
* from plain data.
*/
- class Base
- {
+ class Base {
public:
- explicit Base(QJsonObject o = {})
- : originalJson(std::move(o))
- {}
+ explicit Base(QJsonObject o = {}) : originalJson(std::move(o)) {}
virtual ~Base() = default;
// FIXME: make toJson() from converters.* work on base classes
@@ -90,8 +85,7 @@ namespace EventContent
*
* This class is not polymorphic.
*/
- class FileInfo
- {
+ class FileInfo {
public:
explicit FileInfo(const QUrl& u, qint64 payloadSize = -1,
const QMimeType& mimeType = {},
@@ -131,8 +125,7 @@ namespace EventContent
/**
* A content info class for image content types: image, thumbnail, video
*/
- class ImageInfo : public FileInfo
- {
+ class ImageInfo : public FileInfo {
public:
explicit ImageInfo(const QUrl& u, qint64 fileSize = -1,
QMimeType mimeType = {}, const QSize& imageSize = {},
@@ -153,16 +146,11 @@ namespace EventContent
* the JSON representation of event content; namely,
* "info/thumbnail_url" and "info/thumbnail_info" fields are used.
*/
- class Thumbnail : public ImageInfo
- {
+ class Thumbnail : public ImageInfo {
public:
- Thumbnail()
- : ImageInfo(QUrl())
- {} // To allow empty thumbnails
+ Thumbnail() : ImageInfo(QUrl()) {} // To allow empty thumbnails
Thumbnail(const QJsonObject& infoJson);
- Thumbnail(const ImageInfo& info)
- : ImageInfo(info)
- {}
+ Thumbnail(const ImageInfo& info) : ImageInfo(info) {}
using ImageInfo::ImageInfo;
/**
@@ -172,12 +160,9 @@ namespace EventContent
void fillInfoJson(QJsonObject* infoJson) const;
};
- class TypedBase : public Base
- {
+ class TypedBase : public Base {
public:
- explicit TypedBase(QJsonObject o = {})
- : Base(std::move(o))
- {}
+ explicit TypedBase(QJsonObject o = {}) : Base(std::move(o)) {}
virtual QMimeType type() const = 0;
virtual const FileInfo* fileInfo() const { return nullptr; }
virtual FileInfo* fileInfo() { return nullptr; }
@@ -198,8 +183,7 @@ namespace EventContent
* \tparam InfoT base info class
*/
template <class InfoT>
- class UrlBasedContent : public TypedBase, public InfoT
- {
+ class UrlBasedContent : public TypedBase, public InfoT {
public:
using InfoT::InfoT;
explicit UrlBasedContent(const QJsonObject& json)
@@ -227,13 +211,11 @@ namespace EventContent
};
template <typename InfoT>
- class UrlWithThumbnailContent : public UrlBasedContent<InfoT>
- {
+ class UrlWithThumbnailContent : public UrlBasedContent<InfoT> {
public:
using UrlBasedContent<InfoT>::UrlBasedContent;
explicit UrlWithThumbnailContent(const QJsonObject& json)
- : UrlBasedContent<InfoT>(json)
- , thumbnail(InfoT::originalInfoJson)
+ : UrlBasedContent<InfoT>(json), thumbnail(InfoT::originalInfoJson)
{
// Another small hack, to simplify making a thumbnail link
UrlBasedContent<InfoT>::originalJson.insert("thumbnailMediaId",
diff --git a/lib/events/eventloader.h b/lib/events/eventloader.h
index a203eaa3..9e8bb410 100644
--- a/lib/events/eventloader.h
+++ b/lib/events/eventloader.h
@@ -20,10 +20,8 @@
#include "stateevent.h"
-namespace QMatrixClient
-{
-namespace _impl
-{
+namespace QMatrixClient {
+namespace _impl {
template <typename BaseEventT>
static inline auto loadEvent(const QJsonObject& json,
const QString& matrixType)
@@ -75,8 +73,7 @@ inline StateEventPtr loadStateEvent(const QString& matrixType,
}
template <typename EventT>
-struct JsonConverter<event_ptr_tt<EventT>>
-{
+struct JsonConverter<event_ptr_tt<EventT>> {
static auto load(const QJsonValue& jv)
{
return loadEvent<EventT>(jv.toObject());
diff --git a/lib/events/reactionevent.h b/lib/events/reactionevent.h
index d524b549..b1e04561 100644
--- a/lib/events/reactionevent.h
+++ b/lib/events/reactionevent.h
@@ -20,11 +20,9 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
+namespace QMatrixClient {
-struct EventRelation
-{
+struct EventRelation {
using reltypeid_t = const char*;
static constexpr reltypeid_t Reply() { return "m.in_reply_to"; }
static constexpr reltypeid_t Annotation() { return "m.annotation"; }
@@ -48,14 +46,12 @@ struct EventRelation
}
};
template <>
-struct JsonObjectConverter<EventRelation>
-{
+struct JsonObjectConverter<EventRelation> {
static void dumpTo(QJsonObject& jo, const EventRelation& pod);
static void fillFrom(const QJsonObject& jo, EventRelation& pod);
};
-class ReactionEvent : public RoomEvent
-{
+class ReactionEvent : public RoomEvent {
public:
DEFINE_EVENT_TYPEID("m.reaction", ReactionEvent)
@@ -63,9 +59,7 @@ public:
: RoomEvent(typeId(), matrixTypeId(),
{ { QStringLiteral("m.relates_to"), toJson(value) } })
{}
- explicit ReactionEvent(const QJsonObject& obj)
- : RoomEvent(typeId(), obj)
- {}
+ explicit ReactionEvent(const QJsonObject& obj) : RoomEvent(typeId(), obj) {}
EventRelation relation() const
{
return content<EventRelation>(QStringLiteral("m.relates_to"));
diff --git a/lib/events/receiptevent.cpp b/lib/events/receiptevent.cpp
index fcb8431b..4a54b744 100644
--- a/lib/events/receiptevent.cpp
+++ b/lib/events/receiptevent.cpp
@@ -40,8 +40,7 @@ Example of a Receipt Event:
using namespace QMatrixClient;
-ReceiptEvent::ReceiptEvent(const QJsonObject& obj)
- : Event(typeId(), obj)
+ReceiptEvent::ReceiptEvent(const QJsonObject& obj) : Event(typeId(), obj)
{
const auto& contents = contentJson();
_eventsWithReceipts.reserve(contents.size());
diff --git a/lib/events/receiptevent.h b/lib/events/receiptevent.h
index e8396670..c32e0543 100644
--- a/lib/events/receiptevent.h
+++ b/lib/events/receiptevent.h
@@ -23,22 +23,18 @@
#include <QtCore/QDateTime>
#include <QtCore/QVector>
-namespace QMatrixClient
-{
-struct Receipt
-{
+namespace QMatrixClient {
+struct Receipt {
QString userId;
QDateTime timestamp;
};
-struct ReceiptsForEvent
-{
+struct ReceiptsForEvent {
QString evtId;
QVector<Receipt> receipts;
};
using EventsWithReceipts = QVector<ReceiptsForEvent>;
-class ReceiptEvent : public Event
-{
+class ReceiptEvent : public Event {
public:
DEFINE_EVENT_TYPEID("m.receipt", ReceiptEvent)
explicit ReceiptEvent(const QJsonObject& obj);
diff --git a/lib/events/redactionevent.h b/lib/events/redactionevent.h
index a7dd9705..3628fb33 100644
--- a/lib/events/redactionevent.h
+++ b/lib/events/redactionevent.h
@@ -20,15 +20,12 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
-class RedactionEvent : public RoomEvent
-{
+namespace QMatrixClient {
+class RedactionEvent : public RoomEvent {
public:
DEFINE_EVENT_TYPEID("m.room.redaction", RedactionEvent)
- explicit RedactionEvent(const QJsonObject& obj)
- : RoomEvent(typeId(), obj)
+ explicit RedactionEvent(const QJsonObject& obj) : RoomEvent(typeId(), obj)
{}
QString redactedEvent() const
diff --git a/lib/events/roomavatarevent.h b/lib/events/roomavatarevent.h
index ee460339..16aeb070 100644
--- a/lib/events/roomavatarevent.h
+++ b/lib/events/roomavatarevent.h
@@ -21,18 +21,15 @@
#include "eventcontent.h"
#include "stateevent.h"
-namespace QMatrixClient
-{
-class RoomAvatarEvent : public StateEvent<EventContent::ImageContent>
-{
+namespace QMatrixClient {
+class RoomAvatarEvent : public StateEvent<EventContent::ImageContent> {
// It's a bit of an overkill to use a full-fledged ImageContent
// because in reality m.room.avatar usually only has a single URL,
// without a thumbnail. But The Spec says there be thumbnails, and
// we follow The Spec.
public:
DEFINE_EVENT_TYPEID("m.room.avatar", RoomAvatarEvent)
- explicit RoomAvatarEvent(const QJsonObject& obj)
- : StateEvent(typeId(), obj)
+ explicit RoomAvatarEvent(const QJsonObject& obj) : StateEvent(typeId(), obj)
{}
QUrl url() const { return content().url; }
};
diff --git a/lib/events/roomcreateevent.h b/lib/events/roomcreateevent.h
index 17b86388..c8ba8c40 100644
--- a/lib/events/roomcreateevent.h
+++ b/lib/events/roomcreateevent.h
@@ -20,22 +20,17 @@
#include "stateevent.h"
-namespace QMatrixClient
-{
-class RoomCreateEvent : public StateEventBase
-{
+namespace QMatrixClient {
+class RoomCreateEvent : public StateEventBase {
public:
DEFINE_EVENT_TYPEID("m.room.create", RoomCreateEvent)
- explicit RoomCreateEvent()
- : StateEventBase(typeId(), matrixTypeId())
- {}
+ explicit RoomCreateEvent() : StateEventBase(typeId(), matrixTypeId()) {}
explicit RoomCreateEvent(const QJsonObject& obj)
: StateEventBase(typeId(), obj)
{}
- struct Predecessor
- {
+ struct Predecessor {
QString roomId;
QString eventId;
};
diff --git a/lib/events/roomevent.cpp b/lib/events/roomevent.cpp
index fb715473..543640ca 100644
--- a/lib/events/roomevent.cpp
+++ b/lib/events/roomevent.cpp
@@ -32,8 +32,7 @@ RoomEvent::RoomEvent(Type type, event_mtype_t matrixType,
: Event(type, matrixType, contentJson)
{}
-RoomEvent::RoomEvent(Type type, const QJsonObject& json)
- : Event(type, json)
+RoomEvent::RoomEvent(Type type, const QJsonObject& json) : Event(type, json)
{
const auto unsignedData = json[UnsignedKeyL].toObject();
const auto redaction = unsignedData[RedactedCauseKeyL];
diff --git a/lib/events/roomevent.h b/lib/events/roomevent.h
index 8edb397c..155d4600 100644
--- a/lib/events/roomevent.h
+++ b/lib/events/roomevent.h
@@ -22,13 +22,11 @@
#include <QtCore/QDateTime>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class RedactionEvent;
/** This class corresponds to m.room.* events */
-class RoomEvent : public Event
-{
+class RoomEvent : public Event {
Q_GADGET
Q_PROPERTY(QString id READ id)
Q_PROPERTY(QDateTime timestamp READ timestamp CONSTANT)
@@ -93,8 +91,7 @@ using RoomEventPtr = event_ptr_tt<RoomEvent>;
using RoomEvents = EventsArray<RoomEvent>;
using RoomEventsRange = Range<RoomEvents>;
-class CallEventBase : public RoomEvent
-{
+class CallEventBase : public RoomEvent {
public:
CallEventBase(Type type, event_mtype_t matrixType, const QString& callId,
int version, const QJsonObject& contentJson = {});
diff --git a/lib/events/roommemberevent.cpp b/lib/events/roommemberevent.cpp
index e6292b73..3cbf6685 100644
--- a/lib/events/roommemberevent.cpp
+++ b/lib/events/roommemberevent.cpp
@@ -28,11 +28,9 @@ static const std::array<QString, 5> membershipStrings = {
QStringLiteral("leave"), QStringLiteral("ban") }
};
-namespace QMatrixClient
-{
+namespace QMatrixClient {
template <>
-struct JsonConverter<MembershipType>
-{
+struct JsonConverter<MembershipType> {
static MembershipType load(const QJsonValue& jv)
{
const auto& membershipString = jv.toString();
diff --git a/lib/events/roommemberevent.h b/lib/events/roommemberevent.h
index c1015df2..59d59e3a 100644
--- a/lib/events/roommemberevent.h
+++ b/lib/events/roommemberevent.h
@@ -21,13 +21,10 @@
#include "eventcontent.h"
#include "stateevent.h"
-namespace QMatrixClient
-{
-class MemberEventContent : public EventContent::Base
-{
+namespace QMatrixClient {
+class MemberEventContent : public EventContent::Base {
public:
- enum MembershipType : size_t
- {
+ enum MembershipType : size_t {
Invite = 0,
Join,
Knock,
@@ -36,9 +33,7 @@ public:
Undefined
};
- explicit MemberEventContent(MembershipType mt = Join)
- : membership(mt)
- {}
+ explicit MemberEventContent(MembershipType mt = Join) : membership(mt) {}
explicit MemberEventContent(const QJsonObject& json);
MembershipType membership;
@@ -52,16 +47,14 @@ protected:
using MembershipType = MemberEventContent::MembershipType;
-class RoomMemberEvent : public StateEvent<MemberEventContent>
-{
+class RoomMemberEvent : public StateEvent<MemberEventContent> {
Q_GADGET
public:
DEFINE_EVENT_TYPEID("m.room.member", RoomMemberEvent)
using MembershipType = MemberEventContent::MembershipType;
- explicit RoomMemberEvent(const QJsonObject& obj)
- : StateEvent(typeId(), obj)
+ explicit RoomMemberEvent(const QJsonObject& obj) : StateEvent(typeId(), obj)
{}
[[deprecated("Use RoomMemberEvent(userId, contentArgs) "
"instead")]] RoomMemberEvent(MemberEventContent&& c)
@@ -103,8 +96,7 @@ private:
};
template <>
-class EventFactory<RoomMemberEvent>
-{
+class EventFactory<RoomMemberEvent> {
public:
static event_ptr_tt<RoomMemberEvent> make(const QJsonObject& json,
const QString&)
diff --git a/lib/events/roommessageevent.cpp b/lib/events/roommessageevent.cpp
index da8d59ca..991931de 100644
--- a/lib/events/roommessageevent.cpp
+++ b/lib/events/roommessageevent.cpp
@@ -54,8 +54,7 @@ TypedBase* make<TextContent>(const QJsonObject& json)
: nullptr;
}
-struct MsgTypeDesc
-{
+struct MsgTypeDesc {
QString matrixType;
MsgType enumType;
TypedBase* (*maker)(const QJsonObject&);
@@ -174,8 +173,7 @@ RoomMessageEvent::RoomMessageEvent(const QString& plainBody,
{}
RoomMessageEvent::RoomMessageEvent(const QJsonObject& obj)
- : RoomEvent(typeId(), obj)
- , _content(nullptr)
+ : RoomEvent(typeId(), obj), _content(nullptr)
{
if (isRedacted())
return;
@@ -281,8 +279,7 @@ TextContent::TextContent(const QString& text, const QString& contentType,
mimeType = QMimeDatabase().mimeTypeForName("text/html");
}
-namespace QMatrixClient
-{
+namespace QMatrixClient {
// Overload the default fromJson<> logic that defined in converters.h
// as we want
template <>
@@ -350,8 +347,7 @@ void TextContent::fillJson(QJsonObject* json) const
LocationContent::LocationContent(const QString& geoUri,
const Thumbnail& thumbnail)
- : geoUri(geoUri)
- , thumbnail(thumbnail)
+ : geoUri(geoUri), thumbnail(thumbnail)
{}
LocationContent::LocationContent(const QJsonObject& json)
diff --git a/lib/events/roommessageevent.h b/lib/events/roommessageevent.h
index 1f1fde41..c7a5cb47 100644
--- a/lib/events/roommessageevent.h
+++ b/lib/events/roommessageevent.h
@@ -23,15 +23,13 @@
class QFileInfo;
-namespace QMatrixClient
-{
+namespace QMatrixClient {
namespace MessageEventContent = EventContent; // Back-compatibility
/**
* The event class corresponding to m.room.message events
*/
-class RoomMessageEvent : public RoomEvent
-{
+class RoomMessageEvent : public RoomEvent {
Q_GADGET
Q_PROPERTY(QString msgType READ rawMsgtype CONSTANT)
Q_PROPERTY(QString plainBody READ plainBody CONSTANT)
@@ -40,8 +38,7 @@ class RoomMessageEvent : public RoomEvent
public:
DEFINE_EVENT_TYPEID("m.room.message", RoomMessageEvent)
- enum class MsgType
- {
+ enum class MsgType {
Text,
Emote,
Notice,
@@ -96,12 +93,10 @@ REGISTER_EVENT_TYPE(RoomMessageEvent)
DEFINE_EVENTTYPE_ALIAS(RoomMessage, RoomMessageEvent)
using MessageEventType = RoomMessageEvent::MsgType;
-namespace EventContent
-{
+namespace EventContent {
// Additional event content types
- struct RelatesTo
- {
+ struct RelatesTo {
static constexpr const char* ReplyTypeId() { return "m.in_reply_to"; }
static constexpr const char* ReplacementTypeId() { return "m.replace"; }
QString type; // The only supported relation so far
@@ -118,8 +113,7 @@ namespace EventContent
* Available fields: mimeType, body. The body can be either rich text
* or plain text, depending on what mimeType specifies.
*/
- class TextContent : public TypedBase
- {
+ class TextContent : public TypedBase {
public:
TextContent(const QString& text, const QString& contentType,
Omittable<RelatesTo> relatesTo = none);
@@ -148,8 +142,7 @@ namespace EventContent
* - thumbnail.mimeType
* - thumbnail.imageSize
*/
- class LocationContent : public TypedBase
- {
+ class LocationContent : public TypedBase {
public:
LocationContent(const QString& geoUri, const Thumbnail& thumbnail = {});
explicit LocationContent(const QJsonObject& json);
@@ -168,8 +161,7 @@ namespace EventContent
* A base class for info types that include duration: audio and video
*/
template <typename ContentT>
- class PlayableContent : public ContentT
- {
+ class PlayableContent : public ContentT {
public:
using ContentT::ContentT;
PlayableContent(const QJsonObject& json)
diff --git a/lib/events/roomtombstoneevent.h b/lib/events/roomtombstoneevent.h
index aa9cb766..95fed998 100644
--- a/lib/events/roomtombstoneevent.h
+++ b/lib/events/roomtombstoneevent.h
@@ -20,16 +20,12 @@
#include "stateevent.h"
-namespace QMatrixClient
-{
-class RoomTombstoneEvent : public StateEventBase
-{
+namespace QMatrixClient {
+class RoomTombstoneEvent : public StateEventBase {
public:
DEFINE_EVENT_TYPEID("m.room.tombstone", RoomTombstoneEvent)
- explicit RoomTombstoneEvent()
- : StateEventBase(typeId(), matrixTypeId())
- {}
+ explicit RoomTombstoneEvent() : StateEventBase(typeId(), matrixTypeId()) {}
explicit RoomTombstoneEvent(const QJsonObject& obj)
: StateEventBase(typeId(), obj)
{}
diff --git a/lib/events/simplestateevents.h b/lib/events/simplestateevents.h
index 0078c44d..6dad8020 100644
--- a/lib/events/simplestateevents.h
+++ b/lib/events/simplestateevents.h
@@ -20,25 +20,20 @@
#include "stateevent.h"
-namespace QMatrixClient
-{
-namespace EventContent
-{
+namespace QMatrixClient {
+namespace EventContent {
template <typename T>
- class SimpleContent
- {
+ class SimpleContent {
public:
using value_type = T;
// The constructor is templated to enable perfect forwarding
template <typename TT>
SimpleContent(QString keyName, TT&& value)
- : value(std::forward<TT>(value))
- , key(std::move(keyName))
+ : value(std::forward<TT>(value)), key(std::move(keyName))
{}
SimpleContent(const QJsonObject& json, QString keyName)
- : value(fromJson<T>(json[keyName]))
- , key(std::move(keyName))
+ : value(fromJson<T>(json[keyName])), key(std::move(keyName))
{}
QJsonObject toJson() const
{
@@ -54,14 +49,11 @@ namespace EventContent
} // namespace EventContent
#define DEFINE_SIMPLE_STATE_EVENT(_Name, _TypeId, _ValueType, _ContentKey) \
- class _Name : public StateEvent<EventContent::SimpleContent<_ValueType>> \
- { \
+ class _Name : public StateEvent<EventContent::SimpleContent<_ValueType>> { \
public: \
using value_type = content_type::value_type; \
DEFINE_EVENT_TYPEID(_TypeId, _Name) \
- explicit _Name() \
- : _Name(value_type()) \
- {} \
+ explicit _Name() : _Name(value_type()) {} \
template <typename T> \
explicit _Name(T&& value) \
: StateEvent(typeId(), matrixTypeId(), QString(), \
@@ -86,8 +78,7 @@ DEFINE_EVENTTYPE_ALIAS(RoomTopic, RoomTopicEvent)
DEFINE_EVENTTYPE_ALIAS(RoomEncryption, EncryptionEvent)
class RoomAliasesEvent
- : public StateEvent<EventContent::SimpleContent<QStringList>>
-{
+ : public StateEvent<EventContent::SimpleContent<QStringList>> {
public:
DEFINE_EVENT_TYPEID("m.room.aliases", RoomAliasesEvent)
explicit RoomAliasesEvent(const QJsonObject& obj)
diff --git a/lib/events/stateevent.h b/lib/events/stateevent.h
index d1b742ba..757c94ee 100644
--- a/lib/events/stateevent.h
+++ b/lib/events/stateevent.h
@@ -20,8 +20,7 @@
#include "roomevent.h"
-namespace QMatrixClient
-{
+namespace QMatrixClient {
/// Make a minimal correct Matrix state event JSON
template <typename StrT>
@@ -34,13 +33,11 @@ inline QJsonObject basicStateEventJson(StrT matrixType,
{ ContentKey, content } };
}
-class StateEventBase : public RoomEvent
-{
+class StateEventBase : public RoomEvent {
public:
using factory_t = EventFactory<StateEventBase>;
- StateEventBase(Type type, const QJsonObject& json)
- : RoomEvent(type, json)
+ StateEventBase(Type type, const QJsonObject& json) : RoomEvent(type, json)
{}
StateEventBase(Type type, event_mtype_t matrixType,
const QString& stateKey = {},
@@ -71,8 +68,7 @@ inline bool is<StateEventBase>(const Event& e)
using StateEventKey = QPair<QString, QString>;
template <typename ContentT>
-struct Prev
-{
+struct Prev {
template <typename... ContentParamTs>
explicit Prev(const QJsonObject& unsignedJson,
ContentParamTs&&... contentParams)
@@ -86,8 +82,7 @@ struct Prev
};
template <typename ContentT>
-class StateEvent : public StateEventBase
-{
+class StateEvent : public StateEventBase {
public:
using content_type = ContentT;
@@ -135,11 +130,9 @@ private:
};
} // namespace QMatrixClient
-namespace std
-{
+namespace std {
template <>
-struct hash<QMatrixClient::StateEventKey>
-{
+struct hash<QMatrixClient::StateEventKey> {
size_t operator()(const QMatrixClient::StateEventKey& k) const Q_DECL_NOEXCEPT
{
return qHash(k);
diff --git a/lib/events/typingevent.cpp b/lib/events/typingevent.cpp
index 128a206a..ee3d6b67 100644
--- a/lib/events/typingevent.cpp
+++ b/lib/events/typingevent.cpp
@@ -22,8 +22,7 @@
using namespace QMatrixClient;
-TypingEvent::TypingEvent(const QJsonObject& obj)
- : Event(typeId(), obj)
+TypingEvent::TypingEvent(const QJsonObject& obj) : Event(typeId(), obj)
{
const auto& array = contentJson()["user_ids"_ls].toArray();
for (const auto& user : array)
diff --git a/lib/events/typingevent.h b/lib/events/typingevent.h
index 241359b4..c8170865 100644
--- a/lib/events/typingevent.h
+++ b/lib/events/typingevent.h
@@ -20,10 +20,8 @@
#include "event.h"
-namespace QMatrixClient
-{
-class TypingEvent : public Event
-{
+namespace QMatrixClient {
+class TypingEvent : public Event {
public:
DEFINE_EVENT_TYPEID("m.typing", TypingEvent)
diff --git a/lib/jobs/basejob.cpp b/lib/jobs/basejob.cpp
index e4a74954..a6471ece 100644
--- a/lib/jobs/basejob.cpp
+++ b/lib/jobs/basejob.cpp
@@ -32,8 +32,7 @@
using namespace QMatrixClient;
-struct NetworkReplyDeleter : public QScopedPointerDeleteLater
-{
+struct NetworkReplyDeleter : public QScopedPointerDeleteLater {
static inline void cleanup(QNetworkReply* reply)
{
if (reply && reply->isRunning())
@@ -42,8 +41,7 @@ struct NetworkReplyDeleter : public QScopedPointerDeleteLater
}
};
-class BaseJob::Private
-{
+class BaseJob::Private {
public:
// Using an idiom from clang-tidy:
// http://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html
diff --git a/lib/jobs/basejob.h b/lib/jobs/basejob.h
index f445d087..c85d2d90 100644
--- a/lib/jobs/basejob.h
+++ b/lib/jobs/basejob.h
@@ -28,32 +28,22 @@
class QNetworkReply;
class QSslError;
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class ConnectionData;
-enum class HttpVerb
-{
- Get,
- Put,
- Post,
- Delete
-};
+enum class HttpVerb { Get, Put, Post, Delete };
-struct JobTimeoutConfig
-{
+struct JobTimeoutConfig {
int jobTimeout;
int nextRetryInterval;
};
-class BaseJob : public QObject
-{
+class BaseJob : public QObject {
Q_OBJECT
Q_PROPERTY(QUrl requestUrl READ requestUrl CONSTANT)
Q_PROPERTY(int maxRetries READ maxRetries WRITE setMaxRetries)
public:
- enum StatusCode
- {
+ enum StatusCode {
NoError = 0 // To be compatible with Qt conventions
,
Success = 0,
@@ -93,8 +83,7 @@ public:
* A simple wrapper around QUrlQuery that allows its creation from
* a list of string pairs
*/
- class Query : public QUrlQuery
- {
+ class Query : public QUrlQuery {
public:
using QUrlQuery::QUrlQuery;
Query() = default;
@@ -115,16 +104,10 @@ public:
* along the lines of StatusCode, with additional values
* starting at UserDefinedError
*/
- class Status
- {
+ class Status {
public:
- Status(StatusCode c)
- : code(c)
- {}
- Status(int c, QString m)
- : code(c)
- , message(std::move(m))
- {}
+ Status(StatusCode c) : code(c) {}
+ Status(int c, QString m) : code(c), message(std::move(m)) {}
bool good() const { return code < ErrorLevel; }
friend QDebug operator<<(QDebug dbg, const Status& s)
diff --git a/lib/jobs/downloadfilejob.cpp b/lib/jobs/downloadfilejob.cpp
index 3dff5a68..9722186c 100644
--- a/lib/jobs/downloadfilejob.cpp
+++ b/lib/jobs/downloadfilejob.cpp
@@ -6,12 +6,9 @@
using namespace QMatrixClient;
-class DownloadFileJob::Private
-{
+class DownloadFileJob::Private {
public:
- Private()
- : tempFile(new QTemporaryFile())
- {}
+ Private() : tempFile(new QTemporaryFile()) {}
explicit Private(const QString& localFilename)
: targetFile(new QFile(localFilename))
diff --git a/lib/jobs/downloadfilejob.h b/lib/jobs/downloadfilejob.h
index 58858448..ebfe5a0d 100644
--- a/lib/jobs/downloadfilejob.h
+++ b/lib/jobs/downloadfilejob.h
@@ -2,15 +2,10 @@
#include "csapi/content-repo.h"
-namespace QMatrixClient
-{
-class DownloadFileJob : public GetContentJob
-{
+namespace QMatrixClient {
+class DownloadFileJob : public GetContentJob {
public:
- enum
- {
- FileError = BaseJob::UserDefinedError + 1
- };
+ enum { FileError = BaseJob::UserDefinedError + 1 };
using GetContentJob::makeRequestUrl;
static QUrl makeRequestUrl(QUrl baseUrl, const QUrl& mxcUri);
diff --git a/lib/jobs/mediathumbnailjob.h b/lib/jobs/mediathumbnailjob.h
index eeabe7a9..df0a7f31 100644
--- a/lib/jobs/mediathumbnailjob.h
+++ b/lib/jobs/mediathumbnailjob.h
@@ -22,10 +22,8 @@
#include <QtGui/QPixmap>
-namespace QMatrixClient
-{
-class MediaThumbnailJob : public GetContentThumbnailJob
-{
+namespace QMatrixClient {
+class MediaThumbnailJob : public GetContentThumbnailJob {
public:
using GetContentThumbnailJob::makeRequestUrl;
static QUrl makeRequestUrl(QUrl baseUrl, const QUrl& mxcUri,
diff --git a/lib/jobs/postreadmarkersjob.h b/lib/jobs/postreadmarkersjob.h
index d53ae66c..cf482a9a 100644
--- a/lib/jobs/postreadmarkersjob.h
+++ b/lib/jobs/postreadmarkersjob.h
@@ -24,8 +24,7 @@
using namespace QMatrixClient;
-class PostReadMarkersJob : public BaseJob
-{
+class PostReadMarkersJob : public BaseJob {
public:
explicit PostReadMarkersJob(const QString& roomId,
const QString& readUpToEventId)
diff --git a/lib/jobs/requestdata.cpp b/lib/jobs/requestdata.cpp
index 8248d6b1..6ad7c007 100644
--- a/lib/jobs/requestdata.cpp
+++ b/lib/jobs/requestdata.cpp
@@ -23,16 +23,10 @@ inline auto fromJson(const JsonDataT& jdata)
return fromData(QJsonDocument(jdata).toJson(QJsonDocument::Compact));
}
-RequestData::RequestData(const QByteArray& a)
- : _source(fromData(a))
-{}
+RequestData::RequestData(const QByteArray& a) : _source(fromData(a)) {}
-RequestData::RequestData(const QJsonObject& jo)
- : _source(fromJson(jo))
-{}
+RequestData::RequestData(const QJsonObject& jo) : _source(fromJson(jo)) {}
-RequestData::RequestData(const QJsonArray& ja)
- : _source(fromJson(ja))
-{}
+RequestData::RequestData(const QJsonArray& ja) : _source(fromJson(ja)) {}
RequestData::~RequestData() = default;
diff --git a/lib/jobs/requestdata.h b/lib/jobs/requestdata.h
index 974a9ddf..55987a3b 100644
--- a/lib/jobs/requestdata.h
+++ b/lib/jobs/requestdata.h
@@ -26,23 +26,20 @@ class QJsonArray;
class QJsonDocument;
class QIODevice;
-namespace QMatrixClient
-{
+namespace QMatrixClient {
/**
* A simple wrapper that represents the request body.
* Provides a unified interface to dump an unstructured byte stream
* as well as JSON (and possibly other structures in the future) to
* a QByteArray consumed by QNetworkAccessManager request methods.
*/
-class RequestData
-{
+class RequestData {
public:
RequestData() = default;
RequestData(const QByteArray& a);
RequestData(const QJsonObject& jo);
RequestData(const QJsonArray& ja);
- RequestData(QIODevice* source)
- : _source(std::unique_ptr<QIODevice>(source))
+ RequestData(QIODevice* source) : _source(std::unique_ptr<QIODevice>(source))
{}
RequestData(const RequestData&) = delete;
RequestData& operator=(const RequestData&) = delete;
diff --git a/lib/jobs/syncjob.h b/lib/jobs/syncjob.h
index e2cec8f7..8f925414 100644
--- a/lib/jobs/syncjob.h
+++ b/lib/jobs/syncjob.h
@@ -22,10 +22,8 @@
#include "../syncdata.h"
#include "basejob.h"
-namespace QMatrixClient
-{
-class SyncJob : public BaseJob
-{
+namespace QMatrixClient {
+class SyncJob : public BaseJob {
public:
explicit SyncJob(const QString& since = {}, const QString& filter = {},
int timeout = -1, const QString& presence = {});
diff --git a/lib/joinstate.h b/lib/joinstate.h
index e4dc679a..fcf840ae 100644
--- a/lib/joinstate.h
+++ b/lib/joinstate.h
@@ -22,10 +22,8 @@
#include <array>
-namespace QMatrixClient
-{
-enum class JoinState : unsigned int
-{
+namespace QMatrixClient {
+enum class JoinState : unsigned int {
Join = 0x1,
Invite = 0x2,
Leave = 0x4,
diff --git a/lib/logging.h b/lib/logging.h
index a50c1795..24799752 100644
--- a/lib/logging.h
+++ b/lib/logging.h
@@ -28,8 +28,7 @@ Q_DECLARE_LOGGING_CATEGORY(EPHEMERAL)
Q_DECLARE_LOGGING_CATEGORY(JOBS)
Q_DECLARE_LOGGING_CATEGORY(SYNCJOB)
-namespace QMatrixClient
-{
+namespace QMatrixClient {
// QDebug manipulators
using QDebugManip = QDebug (*)(QDebug);
diff --git a/lib/networkaccessmanager.cpp b/lib/networkaccessmanager.cpp
index 9ac589b8..7bff654c 100644
--- a/lib/networkaccessmanager.cpp
+++ b/lib/networkaccessmanager.cpp
@@ -23,15 +23,13 @@
using namespace QMatrixClient;
-class NetworkAccessManager::Private
-{
+class NetworkAccessManager::Private {
public:
QList<QSslError> ignoredSslErrors;
};
NetworkAccessManager::NetworkAccessManager(QObject* parent)
- : QNetworkAccessManager(parent)
- , d(std::make_unique<Private>())
+ : QNetworkAccessManager(parent), d(std::make_unique<Private>())
{}
QList<QSslError> NetworkAccessManager::ignoredSslErrors() const
diff --git a/lib/networkaccessmanager.h b/lib/networkaccessmanager.h
index bf8f0cbc..dfa388f0 100644
--- a/lib/networkaccessmanager.h
+++ b/lib/networkaccessmanager.h
@@ -22,10 +22,8 @@
#include <memory>
-namespace QMatrixClient
-{
-class NetworkAccessManager : public QNetworkAccessManager
-{
+namespace QMatrixClient {
+class NetworkAccessManager : public QNetworkAccessManager {
Q_OBJECT
public:
NetworkAccessManager(QObject* parent = nullptr);
diff --git a/lib/networksettings.h b/lib/networksettings.h
index 0c21a9fe..75bf726d 100644
--- a/lib/networksettings.h
+++ b/lib/networksettings.h
@@ -24,10 +24,8 @@
Q_DECLARE_METATYPE(QNetworkProxy::ProxyType)
-namespace QMatrixClient
-{
-class NetworkSettings : public SettingsGroup
-{
+namespace QMatrixClient {
+class NetworkSettings : public SettingsGroup {
Q_OBJECT
QMC_DECLARE_SETTING(QNetworkProxy::ProxyType, proxyType, setProxyType)
QMC_DECLARE_SETTING(QString, proxyHostName, setProxyHostName)
diff --git a/lib/qt_connection_util.h b/lib/qt_connection_util.h
index 1b3229d4..94c1ec60 100644
--- a/lib/qt_connection_util.h
+++ b/lib/qt_connection_util.h
@@ -22,10 +22,8 @@
#include <QtCore/QPointer>
-namespace QMatrixClient
-{
-namespace _impl
-{
+namespace QMatrixClient {
+namespace _impl {
template <typename SenderT, typename SignalT, typename ContextT, typename... ArgTs>
inline QMetaObject::Connection
connectUntil(SenderT* sender, SignalT signal, ContextT* context,
@@ -86,12 +84,10 @@ inline auto connectSingleShot(SenderT* sender, SignalT signal,
* destruction.
*/
template <typename T>
-class ConnectionsGuard : public QPointer<T>
-{
+class ConnectionsGuard : public QPointer<T> {
public:
ConnectionsGuard(T* publisher, QObject* subscriber)
- : QPointer<T>(publisher)
- , subscriber(subscriber)
+ : QPointer<T>(publisher), subscriber(subscriber)
{}
~ConnectionsGuard()
{
diff --git a/lib/room.cpp b/lib/room.cpp
index cf58f3c0..b32d3492 100644
--- a/lib/room.cpp
+++ b/lib/room.cpp
@@ -78,24 +78,16 @@ using std::move;
using std::llround;
#endif
-enum EventsPlacement : int
-{
- Older = -1,
- Newer = 1
-};
+enum EventsPlacement : int { Older = -1, Newer = 1 };
-class Room::Private
-{
+class Room::Private {
public:
/// Map of user names to users
/** User names potentially duplicate, hence QMultiHash. */
using members_map_t = QMultiHash<QString, User*>;
Private(Connection* c, QString id_, JoinState initialJoinState)
- : q(nullptr)
- , connection(c)
- , id(move(id_))
- , joinState(initialJoinState)
+ : q(nullptr), connection(c), id(move(id_)), joinState(initialJoinState)
{}
Room* q;
@@ -144,8 +136,7 @@ public:
QPointer<GetRoomEventsJob> eventsHistoryJob;
QPointer<GetMembersByRoomJob> allMembersJob;
- struct FileTransferPrivateInfo
- {
+ struct FileTransferPrivateInfo {
FileTransferPrivateInfo() = default;
FileTransferPrivateInfo(BaseJob* j, const QString& fileName,
bool isUploading = false)
@@ -354,8 +345,7 @@ private:
decltype(Room::Private::baseState) Room::Private::stubbedState {};
Room::Room(Connection* connection, QString id, JoinState initialJoinState)
- : QObject(connection)
- , d(new Private(connection, id, initialJoinState))
+ : QObject(connection), d(new Private(connection, id, initialJoinState))
{
setObjectName(id);
// See "Accessing the Public Class" section in
@@ -1617,9 +1607,9 @@ QString Room::postFile(const QString& plainText, const QUrl& localPath,
// Normally in this situation we should instruct
// the media server to delete the file; alas, there's no
// API specced for that.
- qCWarning(MAIN)
- << "File uploaded to" << mxcUri
- << "but the event referring to it was cancelled";
+ qCWarning(MAIN) << "File uploaded to" << mxcUri
+ << "but the event referring to it was "
+ "cancelled";
}
context->deleteLater();
}
@@ -2382,9 +2372,9 @@ Room::Changes Room::processStateEvent(const RoomEvent& e)
break;
case MembershipType::Join:
if (evt.membership() == MembershipType::Invite)
- qCWarning(MAIN)
- << "Invalid membership change from Join to Invite:"
- << evt;
+ qCWarning(MAIN) << "Invalid membership change from "
+ "Join to Invite:"
+ << evt;
if (evt.membership() != prevMembership) {
disconnect(u, &User::nameAboutToChange, this, nullptr);
disconnect(u, &User::nameChanged, this, nullptr);
@@ -2564,7 +2554,8 @@ Room::Private::buildShortlist(const ContT& users) const
std::partial_sort_copy(
users.begin(), users.end(), shortlist.begin(), shortlist.end(),
[this](const User* u1, const User* u2) {
- // localUser(), if it's in the list, is sorted below all others
+ // localUser(), if it's in the list, is sorted
+ // below all others
return isLocalUser(u2) || (!isLocalUser(u1) && u1->id() < u2->id());
});
return shortlist;
diff --git a/lib/room.h b/lib/room.h
index f5433fb6..d6fb8a61 100644
--- a/lib/room.h
+++ b/lib/room.h
@@ -35,8 +35,7 @@
#include <memory>
#include <utility>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class Event;
class Avatar;
class SyncRoomData;
@@ -52,8 +51,7 @@ class RedactEventJob;
* This is specifically tuned to work with QML exposing all traits as
* Q_PROPERTY values.
*/
-class FileTransferInfo
-{
+class FileTransferInfo {
Q_GADGET
Q_PROPERTY(bool isUpload MEMBER isUpload CONSTANT)
Q_PROPERTY(bool active READ active CONSTANT)
@@ -65,14 +63,7 @@ class FileTransferInfo
Q_PROPERTY(QUrl localDir MEMBER localDir CONSTANT)
Q_PROPERTY(QUrl localPath MEMBER localPath CONSTANT)
public:
- enum Status
- {
- None,
- Started,
- Completed,
- Failed,
- Cancelled
- };
+ enum Status { None, Started, Completed, Failed, Cancelled };
Status status = None;
bool isUpload = false;
int progress = 0;
@@ -86,8 +77,7 @@ public:
bool failed() const { return status == Failed; }
};
-class Room : public QObject
-{
+class Room : public QObject {
Q_OBJECT
Q_PROPERTY(Connection* connection READ connection CONSTANT)
Q_PROPERTY(User* localUser READ localUser CONSTANT)
@@ -146,8 +136,7 @@ public:
using rev_iter_t = Timeline::const_reverse_iterator;
using timeline_iter_t = Timeline::const_iterator;
- enum Change : uint
- {
+ enum Change : uint {
NoChange = 0x0,
NameChange = 0x1,
CanonicalAliasChange = 0x2,
@@ -663,12 +652,9 @@ private:
void setJoinState(JoinState state);
};
-class MemberSorter
-{
+class MemberSorter {
public:
- explicit MemberSorter(const Room* r)
- : room(r)
- {}
+ explicit MemberSorter(const Room* r) : room(r) {}
bool operator()(User* u1, User* u2) const;
bool operator()(User* u1, const QString& u2name) const;
diff --git a/lib/settings.h b/lib/settings.h
index e1ca0866..6747631e 100644
--- a/lib/settings.h
+++ b/lib/settings.h
@@ -24,10 +24,8 @@
class QVariant;
-namespace QMatrixClient
-{
-class Settings : public QSettings
-{
+namespace QMatrixClient {
+class Settings : public QSettings {
Q_OBJECT
public:
/**
@@ -42,9 +40,7 @@ public:
#if defined(_MSC_VER) && _MSC_VER < 1900
// VS 2013 (and probably older) aren't friends with 'using' statements
// that involve private constructors
- explicit Settings(QObject* parent = 0)
- : QSettings(parent)
- {}
+ explicit Settings(QObject* parent = 0) : QSettings(parent) {}
#else
using QSettings::QSettings;
#endif
@@ -71,8 +67,7 @@ protected:
QSettings legacySettings { legacyOrganizationName, legacyApplicationName };
};
-class SettingsGroup : public Settings
-{
+class SettingsGroup : public Settings {
public:
template <typename... ArgTs>
explicit SettingsGroup(QString path, ArgTs&&... qsettingsArgs)
@@ -121,8 +116,7 @@ private:
setValue(QStringLiteral(qsettingname), std::move(newValue)); \
}
-class AccountSettings : public SettingsGroup
-{
+class AccountSettings : public SettingsGroup {
Q_OBJECT
Q_PROPERTY(QString userId READ userId CONSTANT)
QMC_DECLARE_SETTING(QString, deviceId, setDeviceId)
diff --git a/lib/syncdata.h b/lib/syncdata.h
index 6932878d..ad9902e4 100644
--- a/lib/syncdata.h
+++ b/lib/syncdata.h
@@ -22,8 +22,7 @@
#include "events/stateevent.h"
-namespace QMatrixClient
-{
+namespace QMatrixClient {
/// Room summary, as defined in MSC688
/**
* Every member of this structure is an Omittable; as per the MSC, only
@@ -32,8 +31,7 @@ namespace QMatrixClient
* means that nothing has come from the server; heroes.value().isEmpty()
* means a peculiar case of a room with the only member - the current user.
*/
-struct RoomSummary
-{
+struct RoomSummary {
Omittable<int> joinedMemberCount;
Omittable<int> invitedMemberCount;
Omittable<QStringList> heroes; //< mxids of users to take part in the room
@@ -48,14 +46,12 @@ struct RoomSummary
};
template <>
-struct JsonObjectConverter<RoomSummary>
-{
+struct JsonObjectConverter<RoomSummary> {
static void dumpTo(QJsonObject& jo, const RoomSummary& rs);
static void fillFrom(const QJsonObject& jo, RoomSummary& rs);
};
-class SyncRoomData
-{
+class SyncRoomData {
public:
QString roomId;
JoinState joinState;
@@ -82,8 +78,7 @@ public:
// QVector cannot work with non-copiable objects, std::vector can.
using SyncDataList = std::vector<SyncRoomData>;
-class SyncData
-{
+class SyncData {
public:
SyncData() = default;
explicit SyncData(const QString& cacheFileName);
diff --git a/lib/user.cpp b/lib/user.cpp
index f0216454..0705aee7 100644
--- a/lib/user.cpp
+++ b/lib/user.cpp
@@ -41,8 +41,7 @@ using namespace QMatrixClient;
using namespace std::placeholders;
using std::move;
-class User::Private
-{
+class User::Private {
public:
static Avatar makeAvatar(QUrl url) { return Avatar(move(url)); }
@@ -184,8 +183,7 @@ void User::Private::setAvatarForRoom(const Room* r, const QUrl& newUrl,
}
User::User(QString userId, Connection* connection)
- : QObject(connection)
- , d(new Private(move(userId), connection))
+ : QObject(connection), d(new Private(move(userId), connection))
{
setObjectName(userId);
}
diff --git a/lib/user.h b/lib/user.h
index f4d7cff3..779efb34 100644
--- a/lib/user.h
+++ b/lib/user.h
@@ -23,14 +23,12 @@
#include <QtCore/QObject>
#include <QtCore/QString>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
class Connection;
class Room;
class RoomMemberEvent;
-class User : public QObject
-{
+class User : public QObject {
Q_OBJECT
Q_PROPERTY(QString id READ id CONSTANT)
Q_PROPERTY(bool isGuest READ isGuest CONSTANT)
diff --git a/lib/util.cpp b/lib/util.cpp
index 9e0807c6..1919e811 100644
--- a/lib/util.cpp
+++ b/lib/util.cpp
@@ -124,7 +124,8 @@ QString QMatrixClient::serverPart(const QString& mxId)
% ServerPartRegEx % ")$";
static QRegularExpression parser(
re,
- QRegularExpression::UseUnicodePropertiesOption); // Because Asian digits
+ QRegularExpression::UseUnicodePropertiesOption); // Because Asian
+ // digits
return parser.match(mxId).captured(1);
}
@@ -148,16 +149,14 @@ void f2(int, QString);
static_assert(std::is_same<fn_arg_t<decltype(f2), 1>, QString>::value,
"Test fn_arg_t<>");
-struct S
-{
+struct S {
int mf();
};
static_assert(is_callable_v<decltype(&S::mf)>, "Test member function");
static_assert(returns<int, decltype(&S::mf)>(),
"Test returns<> with member function");
-struct Fo
-{
+struct Fo {
int operator()();
};
static_assert(is_callable_v<Fo>, "Test is_callable<> with function object");
@@ -165,8 +164,7 @@ static_assert(function_traits<Fo>::arg_number == 0, "Test function object");
static_assert(std::is_same<fn_return_t<Fo>, int>::value,
"Test return type of function object");
-struct Fo1
-{
+struct Fo1 {
void operator()(int);
};
static_assert(function_traits<Fo1>::arg_number == 1, "Test function object 1");
@@ -182,13 +180,11 @@ static_assert(std::is_same<fn_return_t<decltype(l)>, int>::value,
#endif
template <typename T>
-struct fn_object
-{
+struct fn_object {
static int smf(double) { return 0; }
};
template <>
-struct fn_object<QString>
-{
+struct fn_object<QString> {
void operator()(QString);
};
static_assert(is_callable_v<fn_object<QString>>, "Test function object");
diff --git a/lib/util.h b/lib/util.h
index a29f6253..d055fa46 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -63,8 +63,7 @@ static void qAsConst(const T&&) Q_DECL_EQ_DELETE;
# define BROKEN_INITIALIZER_LISTS
#endif
-namespace QMatrixClient
-{
+namespace QMatrixClient {
// The below enables pretty-printing of enums in logs
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
# define REGISTER_ENUM(EnumName) Q_ENUM(EnumName)
@@ -88,8 +87,7 @@ inline auto unique_ptr_cast(PtrT2&& p)
return std::unique_ptr<T1>(static_cast<T1*>(p.release()));
}
-struct NoneTag
-{};
+struct NoneTag {};
constexpr NoneTag none {};
/** A crude substitute for `optional` while we're not C++17
@@ -97,27 +95,17 @@ constexpr NoneTag none {};
* Only works with default-constructible types.
*/
template <typename T>
-class Omittable
-{
+class Omittable {
static_assert(!std::is_reference<T>::value,
"You cannot make an Omittable<> with a reference type");
public:
using value_type = std::decay_t<T>;
- explicit Omittable()
- : Omittable(none)
- {}
- Omittable(NoneTag)
- : _value(value_type())
- , _omitted(true)
- {}
- Omittable(const value_type& val)
- : _value(val)
- {}
- Omittable(value_type&& val)
- : _value(std::move(val))
- {}
+ explicit Omittable() : Omittable(none) {}
+ Omittable(NoneTag) : _value(value_type()), _omitted(true) {}
+ Omittable(const value_type& val) : _value(val) {}
+ Omittable(value_type&& val) : _value(std::move(val)) {}
Omittable<T>& operator=(const value_type& val)
{
_value = val;
@@ -192,8 +180,7 @@ private:
bool _omitted = false;
};
-namespace _impl
-{
+namespace _impl {
template <typename AlwaysVoid, typename>
struct fn_traits;
}
@@ -205,13 +192,11 @@ namespace _impl
* https://stackoverflow.com/questions/7943525/is-it-possible-to-figure-out-the-parameter-type-and-return-type-of-a-lambda#7943765
*/
template <typename T>
-struct function_traits : public _impl::fn_traits<void, T>
-{};
+struct function_traits : public _impl::fn_traits<void, T> {};
// Specialisation for a function
template <typename ReturnT, typename... ArgTs>
-struct function_traits<ReturnT(ArgTs...)>
-{
+struct function_traits<ReturnT(ArgTs...)> {
static constexpr auto is_callable = true;
using return_type = ReturnT;
using arg_types = std::tuple<ArgTs...>;
@@ -219,30 +204,26 @@ struct function_traits<ReturnT(ArgTs...)>
static constexpr auto arg_number = std::tuple_size<arg_types>::value;
};
-namespace _impl
-{
+namespace _impl {
template <typename AlwaysVoid, typename T>
- struct fn_traits
- {
+ struct fn_traits {
static constexpr auto is_callable = false;
};
template <typename T>
struct fn_traits<decltype(void(&T::operator())), T>
- : public fn_traits<void, decltype(&T::operator())>
- {}; // A generic function object that has (non-overloaded) operator()
+ : public fn_traits<void, decltype(&T::operator())> {
+ }; // A generic function object that has (non-overloaded) operator()
// Specialisation for a member function
template <typename ReturnT, typename ClassT, typename... ArgTs>
struct fn_traits<void, ReturnT (ClassT::*)(ArgTs...)>
- : function_traits<ReturnT(ArgTs...)>
- {};
+ : function_traits<ReturnT(ArgTs...)> {};
// Specialisation for a const member function
template <typename ReturnT, typename ClassT, typename... ArgTs>
struct fn_traits<void, ReturnT (ClassT::*)(ArgTs...) const>
- : function_traits<ReturnT(ArgTs...)>
- {};
+ : function_traits<ReturnT(ArgTs...)> {};
} // namespace _impl
template <typename FnT>
@@ -272,22 +253,15 @@ inline auto operator"" _ls(const char* s, std::size_t size)
* are at least ForwardIterators. Inspired by Ranges TS.
*/
template <typename ArrayT>
-class Range
-{
+class Range {
// Looking forward for Ranges TS to produce something (in C++23?..)
using iterator = typename ArrayT::iterator;
using const_iterator = typename ArrayT::const_iterator;
using size_type = typename ArrayT::size_type;
public:
- Range(ArrayT& arr)
- : from(std::begin(arr))
- , to(std::end(arr))
- {}
- Range(iterator from, iterator to)
- : from(from)
- , to(to)
- {}
+ Range(ArrayT& arr) : from(std::begin(arr)), to(std::end(arr)) {}
+ Range(iterator from, iterator to) : from(from), to(to) {}
size_type size() const
{