From 502b47a608a55374bd28b6b698971f9f697e2d20 Mon Sep 17 00:00:00 2001 From: Janne Koschinski Date: Sat, 26 Aug 2017 02:07:23 +0200 Subject: [PATCH] Use Message::Types (which is QFlags) instead of int --- src/common/message.h | 2 ++ src/core/postgresqlstorage.cpp | 16 ++++++++-------- src/core/postgresqlstorage.h | 6 +++--- src/core/sqlitestorage.cpp | 16 ++++++++-------- src/core/sqlitestorage.h | 6 +++--- src/core/storage.h | 6 +++--- 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/common/message.h b/src/common/message.h index 6254a2fe..8c0db366 100644 --- a/src/common/message.h +++ b/src/common/message.h @@ -53,6 +53,7 @@ public: NetsplitQuit = 0x10000, Invite = 0x20000, }; + Q_DECLARE_FLAGS(Types, Type) // DO NOT CHANGE without knowing what you do, some of these flags are stored in the database enum Flag { @@ -112,6 +113,7 @@ QDataStream &operator>>(QDataStream &in, Message &msg); QDebug operator<<(QDebug dbg, const Message &msg); Q_DECLARE_METATYPE(Message) +Q_DECLARE_OPERATORS_FOR_FLAGS(Message::Types) Q_DECLARE_OPERATORS_FOR_FLAGS(Message::Flags) #endif diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index 1adb749b..f07b1082 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -1386,21 +1386,21 @@ QHash PostgreSqlStorage::bufferMarkerLineMsgIds(UserId user) } -void PostgreSqlStorage::setBufferActivity(UserId user, const BufferId &bufferId, const int &bufferActivity) +void PostgreSqlStorage::setBufferActivity(UserId user, const BufferId &bufferId, const Message::Types &bufferActivity) { QSqlQuery query(logDb()); query.prepare(queryString("update_buffer_bufferactivity")); query.bindValue(":userid", user.toInt()); query.bindValue(":bufferid", bufferId.toInt()); - query.bindValue(":bufferactivity", bufferActivity); + query.bindValue(":bufferactivity", (int) bufferActivity); safeExec(query); watchQuery(query); } -QHash PostgreSqlStorage::bufferActivities(UserId user) +QHash PostgreSqlStorage::bufferActivities(UserId user) { - QHash bufferActivityHash; + QHash bufferActivityHash; QSqlDatabase db = logDb(); if (!beginReadOnlyTransaction(db)) { @@ -1419,14 +1419,14 @@ QHash PostgreSqlStorage::bufferActivities(UserId user) } while (query.next()) { - bufferActivityHash[query.value(0).toInt()] = (Message::Type) query.value(1).toInt(); + bufferActivityHash[query.value(0).toInt()] = Message::Types(query.value(1).toInt()); } db.commit(); return bufferActivityHash; } -int PostgreSqlStorage::bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) +Message::Types PostgreSqlStorage::bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) { QSqlQuery query(logDb()); query.prepare(queryString("select_buffer_bufferactivity")); @@ -1434,9 +1434,9 @@ int PostgreSqlStorage::bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) query.bindValue(":lastseenmsgid", lastSeenMsgId.toInt()); safeExec(query); watchQuery(query); - int result = 0; + Message::Types result = Message::Types(0); if (query.first()) - result = query.value(0).toInt(); + result = Message::Types(query.value(0).toInt()); return result; } diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index b248aecf..06edadbb 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -96,9 +96,9 @@ public slots: virtual QHash bufferLastSeenMsgIds(UserId user); virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferMarkerLineMsgIds(UserId user); - virtual void setBufferActivity(UserId id, const BufferId &bufferId, const int &type); - virtual QHash bufferActivities(UserId id); - virtual int bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId); + virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type); + virtual QHash bufferActivities(UserId id); + virtual Message::Types bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId); /* Message handling */ virtual bool logMessage(Message &msg); diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index 66c85dc0..bdd3c18d 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -1503,7 +1503,7 @@ QHash SqliteStorage::bufferMarkerLineMsgIds(UserId user) return markerLineHash; } -void SqliteStorage::setBufferActivity(UserId user, const BufferId &bufferId, const int &bufferActivity) +void SqliteStorage::setBufferActivity(UserId user, const BufferId &bufferId, const Message::Types &bufferActivity) { QSqlDatabase db = logDb(); db.transaction(); @@ -1513,7 +1513,7 @@ void SqliteStorage::setBufferActivity(UserId user, const BufferId &bufferId, con query.prepare(queryString("update_buffer_bufferactivity")); query.bindValue(":userid", user.toInt()); query.bindValue(":bufferid", bufferId.toInt()); - query.bindValue(":bufferactivity", bufferActivity); + query.bindValue(":bufferactivity", (int) bufferActivity); lockForWrite(); safeExec(query); @@ -1524,9 +1524,9 @@ void SqliteStorage::setBufferActivity(UserId user, const BufferId &bufferId, con } -QHash SqliteStorage::bufferActivities(UserId user) +QHash SqliteStorage::bufferActivities(UserId user) { - QHash bufferActivityHash; + QHash bufferActivityHash; QSqlDatabase db = logDb(); db.transaction(); @@ -1542,7 +1542,7 @@ QHash SqliteStorage::bufferActivities(UserId user) error = !watchQuery(query); if (!error) { while (query.next()) { - bufferActivityHash[query.value(0).toInt()] = (Message::Type) query.value(1).toInt(); + bufferActivityHash[query.value(0).toInt()] = Message::Types(query.value(1).toInt()); } } } @@ -1553,12 +1553,12 @@ QHash SqliteStorage::bufferActivities(UserId user) } -int SqliteStorage::bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) +Message::Types SqliteStorage::bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) { QSqlDatabase db = logDb(); db.transaction(); - int result = 0; + Message::Types result = Message::Types(0); { QSqlQuery query(db); query.prepare(queryString("select_buffer_bufferactivity")); @@ -1568,7 +1568,7 @@ int SqliteStorage::bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) lockForRead(); safeExec(query); if (query.first()) - result = query.value(0).toInt(); + result = Message::Types(query.value(0).toInt()); } db.commit(); diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index 089f3e77..a161b4e9 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -97,9 +97,9 @@ public slots: virtual QHash bufferLastSeenMsgIds(UserId user); virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferMarkerLineMsgIds(UserId user); - virtual void setBufferActivity(UserId id, const BufferId &bufferId, const int &type); - virtual QHash bufferActivities(UserId id); - virtual int bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId); + virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type); + virtual QHash bufferActivities(UserId id); + virtual Message::Types bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId); /* Message handling */ virtual bool logMessage(Message &msg); diff --git a/src/core/storage.h b/src/core/storage.h index 5eed79cf..62af0d80 100644 --- a/src/core/storage.h +++ b/src/core/storage.h @@ -392,7 +392,7 @@ public slots: * \param bufferId The buffer id * \param MsgId The Message id where the marker line should be placed */ - virtual void setBufferActivity(UserId id, const BufferId &bufferId, const int &type) = 0; + virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type) = 0; //! Get a Hash of all buffer activity states /** This Method is called when the Quassel Core is started to restore the BufferActivities @@ -400,7 +400,7 @@ public slots: * * \param user The Owner of the buffers */ - virtual QHash bufferActivities(UserId id) = 0; + virtual QHash bufferActivities(UserId id) = 0; //! Get the bitset of buffer activity states for a buffer /** This method is used to load the activity state of a buffer when its last seen message changes. @@ -409,7 +409,7 @@ public slots: * \param bufferId The buffer * \param lastSeenMsgId The last seen message */ - virtual int bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) = 0; + virtual Message::Types bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) = 0; /* Message handling */ -- 2.20.1