Use Message::Types (which is QFlags<Message::Type>) instead of int
authorJanne Koschinski <janne@kuschku.de>
Sat, 26 Aug 2017 00:07:23 +0000 (02:07 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 19 Dec 2017 20:08:11 +0000 (21:08 +0100)
src/common/message.h
src/core/postgresqlstorage.cpp
src/core/postgresqlstorage.h
src/core/sqlitestorage.cpp
src/core/sqlitestorage.h
src/core/storage.h

index 6254a2f..8c0db36 100644 (file)
@@ -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
index 1adb749..f07b108 100644 (file)
@@ -1386,21 +1386,21 @@ QHash<BufferId, MsgId> 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<BufferId, int> PostgreSqlStorage::bufferActivities(UserId user)
+QHash<BufferId, Message::Types> PostgreSqlStorage::bufferActivities(UserId user)
 {
-    QHash<BufferId, int> bufferActivityHash;
+    QHash<BufferId, Message::Types> bufferActivityHash;
 
     QSqlDatabase db = logDb();
     if (!beginReadOnlyTransaction(db)) {
@@ -1419,14 +1419,14 @@ QHash<BufferId, int> 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;
 }
 
index b248aec..06edadb 100644 (file)
@@ -96,9 +96,9 @@ public slots:
     virtual QHash<BufferId, MsgId> bufferLastSeenMsgIds(UserId user);
     virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
     virtual QHash<BufferId, MsgId> bufferMarkerLineMsgIds(UserId user);
-    virtual void setBufferActivity(UserId id, const BufferId &bufferId, const int &type);
-    virtual QHash<BufferId, int> bufferActivities(UserId id);
-    virtual int bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId);
+    virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type);
+    virtual QHash<BufferId, Message::Types> bufferActivities(UserId id);
+    virtual Message::Types bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId);
 
     /* Message handling */
     virtual bool logMessage(Message &msg);
index 66c85dc..bdd3c18 100644 (file)
@@ -1503,7 +1503,7 @@ QHash<BufferId, MsgId> 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<BufferId, int> SqliteStorage::bufferActivities(UserId user)
+QHash<BufferId, Message::Types> SqliteStorage::bufferActivities(UserId user)
 {
-    QHash<BufferId, int> bufferActivityHash;
+    QHash<BufferId, Message::Types> bufferActivityHash;
 
     QSqlDatabase db = logDb();
     db.transaction();
@@ -1542,7 +1542,7 @@ QHash<BufferId, int> 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<BufferId, int> 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();
index 089f3e7..a161b4e 100644 (file)
@@ -97,9 +97,9 @@ public slots:
     virtual QHash<BufferId, MsgId> bufferLastSeenMsgIds(UserId user);
     virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
     virtual QHash<BufferId, MsgId> bufferMarkerLineMsgIds(UserId user);
-    virtual void setBufferActivity(UserId id, const BufferId &bufferId, const int &type);
-    virtual QHash<BufferId, int> bufferActivities(UserId id);
-    virtual int bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId);
+    virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type);
+    virtual QHash<BufferId, Message::Types> bufferActivities(UserId id);
+    virtual Message::Types bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId);
 
     /* Message handling */
     virtual bool logMessage(Message &msg);
index 5eed79c..62af0d8 100644 (file)
@@ -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<BufferId, int> bufferActivities(UserId id) = 0;
+    virtual QHash<BufferId, Message::Types> 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 */