Q_OBJECT
public:
- PostgreSqlStorage(QObject *parent = 0);
+ PostgreSqlStorage(QObject *parent = nullptr);
~PostgreSqlStorage() override;
std::unique_ptr<AbstractSqlMigrationWriter> createMigrationWriter() override;
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;
void setBufferActivity(UserId id, BufferId bufferId, Message::Types type) override;
QHash<BufferId, Message::Types> bufferActivities(UserId id) override;
Message::Types bufferActivity(BufferId bufferId, MsgId lastSeenMsgId) override;
+ void setHighlightCount(UserId id, BufferId bufferId, int count) override;
+ QHash<BufferId, int> highlightCounts(UserId id) override;
+ int highlightCount(BufferId bufferId, MsgId lastSeenMsgId) override;
+ QHash<QString, QByteArray> 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<Message> requestMsgs(UserId user, BufferId bufferId, MsgId first = -1, MsgId last = -1, int limit = -1) override;
+ QList<Message> 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<Message> requestAllMsgs(UserId user, MsgId first = -1, MsgId last = -1, int limit = -1) override;
+ QList<Message> 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 */
- virtual const QString getAuthusername(UserId user);
+ QMap<UserId, QString> 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; }
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;