*
* 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
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