Q_OBJECT
public:
- Storage(QObject *parent = 0);
+ Storage(QObject *parent = nullptr);
virtual ~Storage() {};
enum State {
* \param settings Hostname, port, username, password, ...
* \return True if and only if the storage provider was initialized successfully.
*/
- virtual bool setup(const QVariantMap &settings = QVariantMap()) = 0;
+ virtual bool setup(const QVariantMap &settings = QVariantMap(),
+ const QProcessEnvironment &environment = {},
+ bool loadFromEnvironment = false) = 0;
//! Initialize the storage provider
/** \param settings Hostname, port, username, password, ...
* \return the State the storage backend is now in (see Storage::State)
*/
- virtual State init(const QVariantMap &settings = QVariantMap()) = 0;
+ virtual State init(const QVariantMap &settings = QVariantMap(),
+ const QProcessEnvironment &environment = {},
+ bool loadFromEnvironment = false) = 0;
//! Makes temp data persistent
/** This Method is periodically called by the Quassel Core to make temporary
*/
virtual QMap<UserId, QString> getAllAuthUserNames() = 0;
- //! Get the auth username associated with a userId
- /** \param user The user to retrieve the username for
- * \return The username for the user
- */
- virtual QString getAuthUserName(UserId user) = 0;
-
signals:
//! Sent when a new BufferInfo is created, or an existing one changed somehow.
void bufferInfoUpdated(UserId user, const BufferInfo &);
//! Sent when a user has been removed
void userRemoved(UserId);
+ //! Emitted when database schema upgrade starts or ends
+ void dbUpgradeInProgress(bool inProgress);
+
protected:
QString hashPassword(const QString &password);
bool checkHashedPassword(const UserId user, const QString &password, const QString &hashedPassword, const Storage::HashVersion version);