X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.h;h=75e32f3a486eb219375a9f61c009811a28bab779;hb=78decd5f8d1a149fc0e62e01bd6b2886e0feadfe;hp=f66e70f5c1c6a23cb4d5b9f4d7426f660ac01521;hpb=10ee60164fb3701b20c439269f170a4f2cb2e2a9;p=quassel.git diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index f66e70f5..75e32f3a 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -35,25 +35,26 @@ public: SqliteStorage(QObject *parent = 0); virtual ~SqliteStorage(); - virtual AbstractSqlMigrationReader *createMigrationReader(); + virtual std::unique_ptr createMigrationReader(); public slots: /* General */ bool isAvailable() const; + QString backendId() const; QString displayName() const; - virtual inline QStringList setupKeys() const { return QStringList(); } - virtual inline QVariantMap setupDefaults() const { return QVariantMap(); } + virtual inline QVariantList setupData() const { return {}; } QString description() const; // TODO: Add functions for configuring the backlog handling, i.e. defining auto-cleanup settings etc /* User handling */ - virtual UserId addUser(const QString &user, const QString &password); + virtual UserId addUser(const QString &user, const QString &password, const QString &authenticator = "Database"); virtual bool updateUser(UserId user, const QString &password); virtual void renameUser(UserId user, const QString &newName); virtual UserId validateUser(const QString &user, const QString &password); virtual UserId getUserId(const QString &username); + virtual QString getUserAuthenticator(const UserId userid); virtual UserId internalUser(); virtual void delUser(UserId user); virtual void setUserSetting(UserId userId, const QString &settingName, const QVariant &data); @@ -96,7 +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 setBufferLastMsg(const BufferId &bufferId, const MsgId &msgId); + virtual void setBufferActivity(UserId id, BufferId bufferId, Message::Types type); + QHash bufferActivities(UserId id) override; + Message::Types bufferActivity(BufferId bufferId, MsgId lastSeenMsgId) override; /* Message handling */ virtual bool logMessage(Message &msg); @@ -161,9 +164,9 @@ private: }; -inline AbstractSqlMigrationReader *SqliteStorage::createMigrationReader() +inline std::unique_ptr SqliteStorage::createMigrationReader() { - return new SqliteMigrationReader(); + return std::unique_ptr{new SqliteMigrationReader()}; }