X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.h;h=ca6e90fccbb44c71389b8a3acacf30ed8f9dab6a;hb=d93a32a6d25f2a3aef89e7c948d468d892d8f768;hp=bffdb0d0976164c2a5f751aca18667a8c96d4acd;hpb=0d15e8349c8014be0ab0dab766ce893699cad94c;p=quassel.git diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index bffdb0d0..ca6e90fc 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -34,25 +34,26 @@ public: PostgreSqlStorage(QObject *parent = 0); virtual ~PostgreSqlStorage(); - virtual AbstractSqlMigrationWriter *createMigrationWriter(); + virtual std::unique_ptr createMigrationWriter(); public slots: /* General */ virtual bool isAvailable() const; + virtual QString backendId() const; virtual QString displayName() const; virtual QString description() const; - virtual QStringList setupKeys() const; - virtual QVariantMap setupDefaults() const; + virtual QVariantList setupData() 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); @@ -95,18 +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); - /** - * Sets the last known valid message ID for the given buffer. - * - * This limits LastSeenMsgIds from being set to message IDs in the future, improving performance - * when searching for messages in the backlog. - * - * @see PostgreSqlStorage::setBufferLastSeenMsg() - * - * @param bufferId[in] ID of the Buffer - * @param msgId[in] ID of latest message for this buffer - */ - virtual void setBufferLastMsg(const BufferId &bufferId, const MsgId &msgId); + virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type); + virtual QHash bufferActivities(UserId id); + virtual Message::Types bufferActivity(BufferId &bufferId, const MsgId &lastSeenMsgId); /* Message handling */ virtual bool logMessage(Message &msg);