X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fabstractsqlstorage.h;h=6eb5f8e5b3d14419f9ba7579f4c0057a4f195e65;hb=78decd5f8d1a149fc0e62e01bd6b2886e0feadfe;hp=06d19b71153f7072b060de9ae3583f0addc1578a;hpb=5221b0b4d044d214539a1932a7a2eefbe88e4a66;p=quassel.git diff --git a/src/core/abstractsqlstorage.h b/src/core/abstractsqlstorage.h index 06d19b71..6eb5f8e5 100644 --- a/src/core/abstractsqlstorage.h +++ b/src/core/abstractsqlstorage.h @@ -18,11 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef ABSTRACTSQLSTORAGE_H -#define ABSTRACTSQLSTORAGE_H +#pragma once #include "storage.h" +#include + #include #include #include @@ -38,8 +39,8 @@ public: AbstractSqlStorage(QObject *parent = 0); virtual ~AbstractSqlStorage(); - virtual inline AbstractSqlMigrationReader *createMigrationReader() { return 0; } - virtual inline AbstractSqlMigrationWriter *createMigrationWriter() { return 0; } + virtual std::unique_ptr createMigrationReader() { return {}; } + virtual std::unique_ptr createMigrationWriter() { return {}; } public slots: virtual State init(const QVariantMap &settings = QVariantMap()); @@ -50,8 +51,24 @@ protected: QSqlDatabase logDb(); - QString queryString(const QString &queryName, int version); - inline QString queryString(const QString &queryName) { return queryString(queryName, 0); } + /** + * Fetch an SQL query string by name and optional schema version + * + * Loads the named SQL query from the built-in SQL resource collection, returning it as a + * string. If a version is specified, it'll be loaded from the schema version-specific folder + * instead. + * + * @see schemaVersion() + * + * @param[in] queryName File name of the SQL query, minus the .sql extension + * @param[in] version + * @parblock + * SQL schema version; if 0, fetches from current version, otherwise loads from the specified + * schema version instead of the current schema files. + * @endparblock + * @return String with the requested SQL query, ready for parameter substitution + */ + QString queryString(const QString &queryName, int version = 0); QStringList setupQueries(); @@ -132,6 +149,7 @@ public: QString username; QString password; int hashversion; + QString authenticator; }; struct SenderMO { @@ -188,6 +206,12 @@ public: int autoreconnectretries; bool unlimitedconnectretries; bool rejoinchannels; + // Custom rate limiting + bool usecustommessagerate; + int messagerateburstsize; + int messageratedelay; + bool unlimitedmessagerate; + // ... bool connected; QString usermode; QString awaymessage; @@ -206,8 +230,10 @@ public: QString buffername; QString buffercname; int buffertype; + int lastmsgid; int lastseenmsgid; int markerlinemsgid; + int bufferactivity; QString key; bool joined; }; @@ -219,6 +245,7 @@ public: int type; int flags; int senderid; + QString senderprefixes; QString message; }; @@ -333,6 +360,3 @@ public: virtual inline bool postProcess() { return true; } friend class AbstractSqlMigrationReader; }; - - -#endif