diff options
Diffstat (limited to 'src/ui/UIModuleManager.h')
-rw-r--r-- | src/ui/UIModuleManager.h | 38 |
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 |