X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.h;h=c88a3c6df17308eef4181847eeec87abb1b671e9;hp=3a1721dda3dae77828d0b4136dac2c50303b9692;hb=158443f71d48215eea8b47b836b61afd77654b78;hpb=feaa219d88fc4778ca787676e95ac99778df492b diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index 3a1721dd..c88a3c6d 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.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 * @@ -31,7 +31,7 @@ class SqliteStorage : public AbstractSqlStorage Q_OBJECT public: - SqliteStorage(QObject *parent = 0); + SqliteStorage(QObject *parent = nullptr); ~SqliteStorage() override; std::unique_ptr createMigrationReader() override; @@ -58,6 +58,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; @@ -99,15 +101,36 @@ 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: - void setConnectionProperties(const QVariantMap & /* properties */) override {} + void setConnectionProperties(const QVariantMap &properties, + const QProcessEnvironment &environment, + bool loadFromEnvironment) override { + Q_UNUSED(properties); + Q_UNUSED(environment); + Q_UNUSED(loadFromEnvironment); + } + // SQLite does not have any connection properties to set QString driverName() override { return "QSQLITE"; } QString databaseName() override { return backlogFile(); } int installedSchemaVersion() override; @@ -147,10 +170,11 @@ public: bool readMo(BacklogMO &backlog) override; bool readMo(IrcServerMO &ircserver) override; bool readMo(UserSettingMO &userSetting) override; + bool readMo(CoreStateMO &coreState) override; bool prepareQuery(MigrationObject mo) override; - int stepSize() { return 50000; } + qint64 stepSize() { return 50000; } protected: bool transaction() override { return logDb().transaction(); } @@ -159,7 +183,7 @@ protected: private: void setMaxId(MigrationObject mo); - int _maxId; + qint64 _maxId{0}; };