21 #include "DBusGreeterList.h"
23 #include "UsersModel.h"
24 #include <libusermetricsoutput/ColorTheme.h>
25 #include <libusermetricsoutput/UserMetrics.h>
26 #include <QLightDM/UsersModel>
28 #include <QAbstractItemModel>
29 #include <QDBusConnection>
30 #include <QtQml/qqml.h>
32 static const char* GREETER_LIST_DBUS_PATH =
"/list";
33 static const char* GREETER_DBUS_SERVICE =
"com.canonical.UnityGreeter";
35 static QObject *greeter_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
38 Q_UNUSED(scriptEngine)
40 Greeter *greeter = new Greeter();
41 QDBusConnection connection = QDBusConnection::sessionBus();
43 connection.registerObject(GREETER_LIST_DBUS_PATH, list, QDBusConnection::ExportScriptableContents);
44 connection.registerService(GREETER_DBUS_SERVICE);
49 static QObject *users_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
52 Q_UNUSED(scriptEngine)
53 return new UsersModel();
56 static QObject *infographic_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
59 Q_UNUSED(scriptEngine)
60 return UserMetricsOutput::UserMetrics::getInstance();
63 void LightDMPlugin::registerTypes(const
char *uri)
65 qmlRegisterType<QAbstractItemModel>();
66 qmlRegisterType<UserMetricsOutput::ColorTheme>();
68 Q_ASSERT(uri == QLatin1String(
"LightDM"));
69 qmlRegisterSingletonType<Greeter>(uri, 0, 1,
"Greeter", greeter_provider);
70 qmlRegisterSingletonType<UsersModel>(uri, 0, 1,
"Users", users_provider);
71 qmlRegisterUncreatableType<QLightDM::UsersModel>(uri, 0, 1,
"UserRoles",
"Type is not instantiable");
72 qmlRegisterSingletonType<UserMetricsOutput::UserMetrics>(uri, 0, 1,
"Infographic", infographic_provider);