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 {
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
}
-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)) {
}
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"));
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;
}
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);
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();
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);
}
-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();
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());
}
}
}
}
-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"));
lockForRead();
safeExec(query);
if (query.first())
- result = query.value(0).toInt();
+ result = Message::Types(query.value(0).toInt());
}
db.commit();
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);
* \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
*
* \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.
* \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 */