X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.h;h=2ea1e2846d61dace241eacf4979cb0456f5f44e4;hb=d89f4d9cdbc167112e64fca1931e81bc27d17319;hp=e8f09ae18e394245ca22540676e5d71715792f6b;hpb=feaa219d88fc4778ca787676e95ac99778df492b;p=quassel.git diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index e8f09ae1..2ea1e284 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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; @@ -98,16 +99,32 @@ public slots: void setBufferActivity(UserId id, BufferId bufferId, Message::Types type) override; QHash bufferActivities(UserId id) override; Message::Types bufferActivity(BufferId bufferId, MsgId lastSeenMsgId) override; + void setHighlightCount(UserId id, BufferId bufferId, int count) override; + QHash highlightCounts(UserId id) override; + int highlightCount(BufferId bufferId, MsgId lastSeenMsgId) override; + QHash bufferCiphers(UserId user, const NetworkId &networkId) override; + void setBufferCipher(UserId user, const NetworkId &networkId, const QString &bufferName, const QByteArray &cipher) override; /* Message handling */ 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; 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; } @@ -137,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; @@ -163,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;