@@ -17,6 +17,7 @@
1717#include "plugin.h"
1818#include "ApplicationInfo.h"
1919#include "ApplicationManager.h"
20+#include "MirMock.h"
2021#include "MirSurfaceItem.h"
2122#include "SurfaceManager.h"
2223
@@ -38,6 +39,9 @@ void createUnityApplicationSharedSingletons()
3839 if (!SurfaceManager::instance()) {
3940 new SurfaceManager;
4041 }
42+ if (!MirMock::instance()) {
43+ new MirMock;
44+ }
4145}
4246
4347QObject* applicationManagerSingleton(QQmlEngine*, QJSEngine*)
@@ -46,6 +50,12 @@ QObject* applicationManagerSingleton(QQmlEngine*, QJSEngine*)
4650 return new ApplicationManager;
4751}
4852
53+QObject* mirSingleton(QQmlEngine*, QJSEngine*)
54+{
55+ createUnityApplicationSharedSingletons();
56+ return MirMock::instance();
57+}
58+
4959QObject* surfaceManagerSingleton(QQmlEngine*, QJSEngine*)
5060{
5161 createUnityApplicationSharedSingletons();
@@ -78,9 +88,8 @@ void FakeUnityApplicationQmlPlugin::registerTypes(const char *uri)
7888 qmlRegisterType<ApplicationInfo>(uri, 0, 1, "ApplicationInfo");
7989
8090 qmlRegisterSingletonType<ApplicationManager>(uri, 0, 1, "ApplicationManager", applicationManagerSingleton);
91+ qmlRegisterSingletonType<MirMock>(uri, 0, 1, "Mir", mirSingleton);
8192 qmlRegisterSingletonType<SurfaceManager>(uri, 0, 1, "SurfaceManager", surfaceManagerSingleton);
82−
83− qmlRegisterUncreatableType<Mir>(uri, 0, 1, "Mir", "Mir provides enum values, it can't be instantiated");
8493}
8594
8695void FakeUnityApplicationQmlPlugin::initializeEngine(QQmlEngine *engine, const char *uri)