Add --select-authenticator switch to core
[quassel.git] / src / core / core.h
index 835e787..3eb4313 100644 (file)
@@ -95,7 +95,7 @@ public:
     static inline UserId addUser(const QString &userName, const QString &password, const QString &authenticator = "Database") {
         return instance()->_storage->addUser(userName, password, authenticator);
     }
-    
+
     //! Does a comparison test against the authenticator in the database and the authenticator currently in use for a UserID.
     /**
      * \param userid The user's ID (note: not login name).
@@ -114,6 +114,13 @@ public:
      */
     static bool changeUserPassword(UserId userId, const QString &password);
 
+    //! Check if we can change a user password.
+    /**
+     * \param userID     The user's ID
+     * \return true, if we can change their password, false otherwise
+     */
+    static bool canChangeUserPassword(UserId userId);
+
     //! Store a user setting persistently
     /**
      * \param userId       The users Id
@@ -611,10 +618,14 @@ private:
     void unregisterAuthenticatorBackend(Authenticator *);
 
     bool selectBackend(const QString &backend);
+    bool selectAuthenticator(const QString &backend);
     bool createUser();
     bool saveBackendSettings(const QString &backend, const QVariantMap &settings);
     void saveAuthBackendSettings(const QString &backend, const QVariantMap &settings);
+
     QVariantMap promptForSettings(const Storage *storage);
+    QVariantMap promptForSettings(const Authenticator *authenticator);
+    QVariantMap promptForSettings(QStringList keys, QVariantMap defaults);
 
 private:
     QSet<CoreAuthHandler *> _connectingClients;