/***************************************************************************
- * Copyright (C) 2005-2015 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 *
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();
private:
void addConnectionToPool();
+ void dbConnect(QSqlDatabase &db);
int _schemaVersion;
bool _debug;
UserId id;
QString username;
QString password;
+ int hashversion;
+ QString authenticator;
};
struct SenderMO {
int autoreconnectretries;
bool unlimitedconnectretries;
bool rejoinchannels;
+ // Custom rate limiting
+ bool usecustommessagerate;
+ int messagerateburstsize;
+ int messageratedelay;
+ bool unlimitedmessagerate;
+ // ...
bool connected;
QString usermode;
QString awaymessage;
QString buffername;
QString buffercname;
int buffertype;
+ int lastmsgid;
int lastseenmsgid;
int markerlinemsgid;
QString key;
int port;
QString password;
bool ssl;
+ bool sslverify; /// If true, validate SSL certificates
int sslversion;
bool useproxy;
int proxytype;