X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fabstractsqlstorage.h;h=6c469dfd4ff0ae8458812cdeb51f4b2253fa7a55;hp=d821e6144464d026a1a0ec07f52e5677abe2047e;hb=691fb8bc92d1d72c10ef5ffc4535ab913eefc1ac;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce diff --git a/src/core/abstractsqlstorage.h b/src/core/abstractsqlstorage.h index d821e614..6c469dfd 100644 --- a/src/core/abstractsqlstorage.h +++ b/src/core/abstractsqlstorage.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-07 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef ABSTRACTSQLSTORAGE_H @@ -50,8 +50,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(); @@ -80,13 +96,14 @@ protected: * When reimplementing this method, don't use logDB() inside this function as * this would cause as we're just about to initialize that DB connection. */ - inline virtual void initDbSession(QSqlDatabase & /* db */) {} + inline virtual bool initDbSession(QSqlDatabase & /* db */) { return true; } private slots: void connectionDestroyed(); private: void addConnectionToPool(); + void dbConnect(QSqlDatabase &db); int _schemaVersion; bool _debug; @@ -130,6 +147,8 @@ public: UserId id; QString username; QString password; + int hashversion; + QString authenticator; }; struct SenderMO { @@ -186,6 +205,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; @@ -204,6 +229,7 @@ public: QString buffername; QString buffercname; int buffertype; + int lastmsgid; int lastseenmsgid; int markerlinemsgid; QString key; @@ -228,6 +254,7 @@ public: int port; QString password; bool ssl; + bool sslverify; /// If true, validate SSL certificates int sslversion; bool useproxy; int proxytype;