12 #include <QJsonObject>
19 defineEnumType(UIPlugInName, UIPlugInQml, UIPlugInWidgets, UIPlugInJson, UIPlugInWebSocket, UIPlugInAidl)
27 QMap<UIPlugInName, UIPlugIn*> mLoadedPlugIns;
28 QVector<UIPlugInName> mDefault;
30 inline QString getName(UIPlugInName pPlugin)
const;
31 inline bool isPlugIn(
const QJsonObject& pJson);
32 inline bool hasName(
const QJsonObject& pJson,
const QString& pName);
39 static UILoader& getInstance();
42 bool load(UIPlugInName pName);
44 const QStringList getDefault()
const;
45 void setDefault(
const QStringList& pDefault);
47 UIPlugIn* getLoaded(UIPlugInName pName)
const;
49 Q_INVOKABLE
void shutdown();
52 void fireLoadedPlugin(UIPlugIn* pPlugin);
53 void fireShutdownComplete();