]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - liblightdm-qt/QLightDM/greeter.h
First pass at reset support
[sojka/lightdm.git] / liblightdm-qt / QLightDM / greeter.h
index 487f76277efd9235d7fb18204848189dd51782fe..8abf5e9260ba686ca4cc4c0ae4335cdfc94384af 100644 (file)
@@ -5,9 +5,8 @@
  *
  * This library is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 3 of the License, or (at your option) any
- * later version. See http://www.gnu.org/copyleft/lgpl.html the full text of the
- * license.
+ * Software Foundation; either version 2 or version 3 of the License.
+ * See http://www.gnu.org/copyleft/lgpl.html the full text of the license.
  */
 
 #ifndef QLIGHTDM_GREETER_H
 
 #include <QtCore/QObject>
 #include <QtCore/QVariant>
-#include "QLightDM/User"
 
-class GreeterPrivate;
 
 namespace QLightDM
 {
+    class GreeterPrivate;
 
 class Q_DECL_EXPORT Greeter : public QObject
 {
     Q_OBJECT
-public:
+    
+    Q_PROPERTY(bool authenticated READ isAuthenticated ) //NOTFIY authenticationComplete
+    Q_PROPERTY(QString authenticationUser READ authenticationUser )
+    Q_PROPERTY(QString defaultSession READ defaultSessionHint CONSTANT)
+    Q_PROPERTY(QString selectUser READ selectUserHint CONSTANT)
+    Q_PROPERTY(bool selectGuest READ selectGuestHint CONSTANT)
+
+    Q_PROPERTY(QString hostname READ hostname CONSTANT)
+    Q_PROPERTY(bool hasGuestAccount READ hasGuestAccountHint CONSTANT)
+    Q_PROPERTY(bool locked READ lockHint CONSTANT)
+    
+    Q_PROPERTY(QString hostname READ hostname CONSTANT)
 
+    Q_ENUMS(PromptType MessageType)
+
+public:
     enum PromptType {
         PromptTypeQuestion,
         PromptTypeSecret
@@ -40,44 +52,50 @@ public:
     explicit Greeter(QObject* parent=0);
     virtual ~Greeter();
 
-    QString timedLoginUser() const;
-    int timedLoginDelay() const;
-
-    QString getHint(QString name) const;
+    QString getHint(const QString &name) const;   
     QString defaultSessionHint() const;
     bool hideUsersHint() const;
+    bool showManualLoginHint() const;
+    bool showRemoteLoginHint() const;
+    bool lockHint () const;
     bool hasGuestAccountHint() const;
     QString selectUserHint() const;
     bool selectGuestHint() const;
     QString autologinUserHint() const;
     bool autologinGuestHint() const;
     int autologinTimeoutHint() const;
+
     bool inAuthentication() const;
     bool isAuthenticated() const;
     QString authenticationUser() const;
+    QString hostname() const;
 
-public slots:
+public Q_SLOTS:
     bool connectSync();
     void authenticate(const QString &username=QString());
     void authenticateAsGuest();
+    void authenticateAutologin();
+    void authenticateRemote(const QString &session=QString(), const QString &username=QString());
     void respond(const QString &response);
     void cancelAuthentication();
-    void setLanguage (QString language);
+    void setLanguage (const QString &language);
+    void setResettable (bool resettable);
     bool startSessionSync(const QString &session=QString());
+    QString ensureSharedDataDirSync(const QString &username);
 
-signals:
-    void showMessage(QString text, Greeter::MessageType type);
-    void showPrompt(QString text, Greeter::PromptType type);
+Q_SIGNALS:
+    void showMessage(QString text, QLightDM::Greeter::MessageType type);
+    void showPrompt(QString text, QLightDM::Greeter::PromptType type);
     void authenticationComplete();
     void autologinTimerExpired();
-
-private slots:
-    void onRead(int fd);
+    void idle();
+    void reset();
 
 private:
-    GreeterPrivate *d;
+    GreeterPrivate *d_ptr;
+    Q_DECLARE_PRIVATE(Greeter)
 
 };
-};
+}
 
 #endif // QLIGHTDM_GREETER_H