21 #include "DBusGreeter.h"
22 #include "DBusGreeterList.h"
24 #include "UsersModel.h"
25 #include <libusermetricsoutput/ColorTheme.h>
26 #include <libusermetricsoutput/UserMetrics.h>
27 #include <QLightDM/UsersModel>
29 #include <QAbstractItemModel>
30 #include <QDBusConnection>
31 #include <QtQml/qqml.h>
33 static QObject *greeter_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
36 Q_UNUSED(scriptEngine)
38 Greeter *greeter = new Greeter();
45 static QObject *users_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
48 Q_UNUSED(scriptEngine)
49 return new UsersModel();
52 static QObject *infographic_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
55 Q_UNUSED(scriptEngine)
56 return UserMetricsOutput::UserMetrics::getInstance();
59 void LightDMPlugin::registerTypes(const
char *uri)
61 qmlRegisterType<QAbstractItemModel>();
62 qmlRegisterType<UserMetricsOutput::ColorTheme>();
64 Q_ASSERT(uri == QLatin1String(
"LightDM"));
65 qRegisterMetaType<QLightDM::Greeter::MessageType>(
"QLightDM::Greeter::MessageType");
66 qRegisterMetaType<QLightDM::Greeter::PromptType>(
"QLightDM::Greeter::PromptType");
67 qmlRegisterSingletonType<Greeter>(uri, 0, 1,
"Greeter", greeter_provider);
68 qmlRegisterSingletonType<UsersModel>(uri, 0, 1,
"Users", users_provider);
69 qmlRegisterUncreatableType<QLightDM::UsersModel>(uri, 0, 1,
"UserRoles",
"Type is not instantiable");
70 qmlRegisterSingletonType<UserMetricsOutput::UserMetrics>(uri, 0, 1,
"Infographic", infographic_provider);