X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fstorage.h;h=3930a953c1665cf19d9c9c7634d67e7e10a5d660;hb=5941a9d24333401874e051c349b391e2bcac0e0d;hp=7cbc3e3dff72c88c55c41899e28199a30a5262d9;hpb=b9169a652a6854b3fa85aee8f833cb9e18a8d510;p=quassel.git diff --git a/src/core/storage.h b/src/core/storage.h index 7cbc3e3d..3930a953 100644 --- a/src/core/storage.h +++ b/src/core/storage.h @@ -85,13 +85,17 @@ public slots: * \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 @@ -171,6 +175,19 @@ public slots: */ 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; @@ -534,6 +551,9 @@ signals: //! 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);