uisupport: Provide helpers for dealing with widget changes
[quassel.git] / src / core / storage.h
index 5a0a640..85d2cad 100644 (file)
@@ -33,8 +33,7 @@ class Storage : public QObject
     Q_OBJECT
 
 public:
-    Storage(QObject *parent = 0);
-    virtual ~Storage() {};
+    Storage(QObject *parent = nullptr);
 
     enum State {
         IsReady,    // ready to go
@@ -85,13 +84,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
@@ -529,12 +532,6 @@ public slots:
      */
     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 &);
@@ -547,6 +544,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);