X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.h;h=ca6e90fccbb44c71389b8a3acacf30ed8f9dab6a;hp=bffdb0d0976164c2a5f751aca18667a8c96d4acd;hb=fd16e241d2fd1f33f4625b3255956f025a67273b;hpb=570fe57edab50ce8acee57843b233354b6fc1c83 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);