aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/UIModuleManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/UIModuleManager.h')
-rw-r--r--src/ui/UIModuleManager.h38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/ui/UIModuleManager.h b/src/ui/UIModuleManager.h
index 15f80030..2388dc71 100644
--- a/src/ui/UIModuleManager.h
+++ b/src/ui/UIModuleManager.h
@@ -41,7 +41,7 @@ struct MountedUIEntry {
QString id_;
QMap<QString, QString> meta_data_;
QMap<QString, QString> meta_data_translated_;
- EntryFactory factory_;
+ QObjectFactory factory_;
MountedUIEntry() = default;
@@ -92,7 +92,7 @@ class GPGFRONTEND_UI_EXPORT UIModuleManager
* @return false
*/
auto MountEntry(const QString& id, QMap<QString, QString> meta_data,
- EntryFactory factory) -> bool;
+ QObjectFactory factory) -> bool;
/**
* @brief
@@ -113,6 +113,38 @@ class GPGFRONTEND_UI_EXPORT UIModuleManager
/**
* @brief
*
+ * @param id
+ * @return auto
+ */
+ auto RegisterQObject(const QString& id, QObject*) -> bool;
+
+ /**
+ * @brief
+ *
+ * @param id
+ * @return auto
+ */
+ auto GetQObject(const QString& id) -> QObject*;
+
+ /**
+ * @brief
+ *
+ * @param id
+ * @return auto
+ */
+ auto MakeCapsule(std::any) -> QString;
+
+ /**
+ * @brief
+ *
+ * @param id
+ * @return auto
+ */
+ auto GetCapsule(const QString& uuid) -> std::any;
+
+ /**
+ * @brief
+ *
*/
void RegisterAllModuleTranslators();
@@ -128,6 +160,8 @@ class GPGFRONTEND_UI_EXPORT UIModuleManager
QMap<QString, ModuleTranslatorInfo> translator_data_readers_;
QList<QTranslator*> registered_translators_;
QList<QByteArray> read_translator_data_list_;
+ QMap<QString, QPointer<QObject>> registered_qobjects_;
+ QMap<QString, std::any> capsule_;
};
} // namespace GpgFrontend::UI \ No newline at end of file