X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.h;h=2ea1e2846d61dace241eacf4979cb0456f5f44e4;hp=5322a09a688f47c8b90de27e923ee69a89982a38;hb=c194ed5fb3d15e14b9364f9796d3521910dc72fe;hpb=88ce73ff525535c00cc979fff357fbe4cb8cdc2b diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index 5322a09a..2ea1e284 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -30,8 +30,7 @@ class PostgreSqlStorage : public AbstractSqlStorage Q_OBJECT public: - PostgreSqlStorage(QObject *parent = 0); - ~PostgreSqlStorage() override; + PostgreSqlStorage(QObject *parent = nullptr); std::unique_ptr createMigrationWriter() override; @@ -57,6 +56,8 @@ public slots: void delUser(UserId user) override; void setUserSetting(UserId userId, const QString &settingName, const QVariant &data) override; QVariant getUserSetting(UserId userId, const QString &settingName, const QVariant &defaultData = QVariant()) override; + void setCoreState(const QVariantList &data) override; + QVariantList getCoreState(const QVariantList &data) override; /* Identity handling */ IdentityId createIdentity(UserId user, CoreIdentity &identity) override; @@ -108,15 +109,22 @@ public slots: bool logMessage(Message &msg) override; bool logMessages(MessageList &msgs) override; QList requestMsgs(UserId user, BufferId bufferId, MsgId first = -1, MsgId last = -1, int limit = -1) override; + QList requestMsgsFiltered(UserId user, BufferId bufferId, MsgId first = -1, MsgId last = -1, + int limit = -1, Message::Types type = Message::Types{-1}, + Message::Flags flags = Message::Flags{-1}) override; QList requestAllMsgs(UserId user, MsgId first = -1, MsgId last = -1, int limit = -1) override; + QList requestAllMsgsFiltered(UserId user, MsgId first = -1, MsgId last = -1, int limit = -1, + Message::Types type = Message::Types{-1}, + Message::Flags flags = Message::Flags{-1}) override; /* Sysident handling */ QMap getAllAuthUserNames() override; - QString getAuthUserName(UserId user) override; protected: bool initDbSession(QSqlDatabase &db) override; - void setConnectionProperties(const QVariantMap &properties) override; + void setConnectionProperties(const QVariantMap &properties, + const QProcessEnvironment &environment, + bool loadFromEnvironment) override; QString driverName() override { return "QPSQL"; } QString hostName() override { return _hostName; } int port() override { return _port; } @@ -146,7 +154,7 @@ private: QSqlQuery prepareAndExecuteQuery(const QString &queryname, QSqlDatabase &db) { return prepareAndExecuteQuery(queryname, QString(), db); } QString _hostName; - int _port; + int _port{-1}; QString _databaseName; QString _userName; QString _password; @@ -172,6 +180,7 @@ public: bool writeMo(const BacklogMO &backlog) override; bool writeMo(const IrcServerMO &ircserver) override; bool writeMo(const UserSettingMO &userSetting) override; + bool writeMo(const CoreStateMO &coreState) override; bool prepareQuery(MigrationObject mo) override;