X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.h;h=5b6a196fb6ad84ce72cb1d66b25a8c861b28812c;hp=af8aa9c3811d73a3b809211f46f8fb640ff4ac74;hb=d60c5028b49a95d3c27c35b2ea1d74cdd7bb0e46;hpb=f6781dc095957d65e8fc1683fda1c5a5b9cbedbb diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index af8aa9c3..5b6a196f 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -40,17 +40,18 @@ public slots: virtual bool isAvailable() const; virtual QString displayName() const; virtual QString description() const; - virtual QVariantMap setupKeys() const; - virtual bool setup(const QVariantMap &settings = QVariantMap()); + virtual QStringList setupKeys() const; + virtual QVariantMap setupDefaults() 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 void updateUser(UserId user, const QString &password); + 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 UserId internalUser(); virtual void delUser(UserId user); virtual void setUserSetting(UserId userId, const QString &settingName, const QVariant &data); @@ -91,6 +92,8 @@ public slots: virtual bool mergeBuffersPermanently(const UserId &user, const BufferId &bufferId1, const BufferId &bufferId2); virtual void setBufferLastSeenMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferLastSeenMsgIds(UserId user); + virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); + virtual QHash bufferMarkerLineMsgIds(UserId user); /* Message handling */ virtual bool logMessage(Message &msg); @@ -99,6 +102,7 @@ public slots: virtual QList requestAllMsgs(UserId user, MsgId first = -1, MsgId last = -1, int limit = -1); protected: + virtual void initDbSession(QSqlDatabase &db); virtual void setConnectionProperties(const QVariantMap &properties); inline virtual QString driverName() { return "QPSQL"; } inline virtual QString hostName() { return _hostName; } @@ -176,6 +180,8 @@ private: QLatin1String field; Sequence(const char *table, const char *field) : table(table), field(field) {} }; + + QSet _validIdentities; }; #endif