* \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 QVariant getUserSetting(UserId userId, const QString &settingName, const QVariant &data = QVariant()) = 0;
+ //! Store core state
+ /**
+ * \param data Active Sessions
+ */
+ virtual void setCoreState(const QVariantList &data) = 0;
+
+ //! Retrieve core state
+ /**
+ * \param default Value to return in case it's unset.
+ * \return Active Sessions
+ */
+ virtual QVariantList getCoreState(const QVariantList &data = QVariantList()) = 0;
+
/* Identity handling */
virtual IdentityId createIdentity(UserId user, CoreIdentity &identity) = 0;
virtual bool updateIdentity(UserId user, const CoreIdentity &identity) = 0;
*/
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);