* license.
*/
-#ifndef QLIGTHDM_GREETER_H
-#define QLIGTHDM_GREETER_H
+#ifndef QLIGHTDM_GREETER_H
+#define QLIGHTDM_GREETER_H
#include <QtCore/QObject>
#include <QtCore/QVariant>
-
-#include "user.h"
-#include "language.h"
-//#include "layout.h"
+#include "QLightDM/User"
+#include "QLightDM/Language"
class GreeterPrivate;
namespace QLightDM
{
+ typedef enum
+ {
+ PROMPT_TYPE_QUESTION,
+ PROMPT_TYPE_SECRET
+ } PromptType;
+
+ typedef enum
+ {
+ MESSAGE_TYPE_INFO,
+ MESSAGE_TYPE_ERROR
+ } MessageType;
+
class Q_DECL_EXPORT Greeter : public QObject
{
Q_OBJECT
QList<QLightDM::Language> languages() const;
QString defaultLanguage() const;
- //QList<LdmLayout> layouts() const;
QString layout() const;
QString getHint(QString name) const;
void connectToServer();
void login(const QString &username);
+ void loginWithUserPrompt();
void loginAsGuest();
void respond(const QString &response);
void cancelAuthentication();
signals:
void connected();
- void showPrompt(QString prompt);
- void showMessage(QString message);
- void showError(QString message);
- void authenticationComplete(bool isAuthenticated);
+ void showPrompt(QString prompt, PromptType type);
+ void showMessage(QString message, MessageType type);
+ void authenticationComplete();
void sessionFailed();
- void timedLogin(QString username);
+ void autologinTimerExpired();
void quit();
private slots:
int readInt(int *offset);
QString readString(int *offset);
};
+};
-};//end namespace
-
-#endif // QLIGHDM_GREETER_H
+#endif // QLIGHTDM_GREETER_H
void Greeter::connectToServer()
{
QDBusConnection busType = QDBusConnection::systemBus();
- QString ldmBus(qgetenv("LDM_BUS"));
+ QString ldmBus(qgetenv("LIGHTDM_BUS"));
if(ldmBus == QLatin1String("SESSION")) {
busType = QDBusConnection::sessionBus();
}
switch (msg_style)
{
case PAM_PROMPT_ECHO_OFF:
+ emit showPrompt(msg, PROMPT_TYPE_SECRET);
+ break;
case PAM_PROMPT_ECHO_ON:
- emit showPrompt(msg);
+ emit showPrompt(msg, PROMPT_TYPE_QUESTION);
break;
case PAM_ERROR_MSG:
- emit showError(msg);
+ emit showMessage(msg, MESSAGE_TYPE_ERROR);
break;
case PAM_TEXT_INFO:
- emit showMessage(msg);
+ emit showMessage(msg, MESSAGE_TYPE_INFO);
break;
}
}
if(!d->isAuthenticated) {
d->authenticationUser = "";
}
- emit authenticationComplete(d->isAuthenticated);
+ emit authenticationComplete();
d->inAuthentication = false;
}
else