From 12d70e1792a5b1ff08d4b58fb49fb9e58d6551a8 Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 29 Feb 2024 00:32:43 +0800 Subject: feat: upgrade module system 1. load module and resolve symbols at runtime 2. restrict sdk functions and structures to c style 3. add some core api to support it --- src/core/module/ModuleManager.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/core/module/ModuleManager.h') diff --git a/src/core/module/ModuleManager.h b/src/core/module/ModuleManager.h index 93b89e95..5bebe934 100644 --- a/src/core/module/ModuleManager.h +++ b/src/core/module/ModuleManager.h @@ -65,12 +65,20 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager virtual ~ModuleManager() override; + auto LoadModule(QString) -> void; + + auto SearchModule(ModuleIdentifier) -> ModulePtr; + void RegisterModule(ModulePtr); auto IsModuleActivated(ModuleIdentifier) -> bool; + void ListenEvent(ModuleIdentifier, EventIdentifier); + void TriggerEvent(EventRefrernce); + auto SearchEvent(EventTriggerIdentifier) -> std::optional; + void ActiveModule(ModuleIdentifier); void DeactiveModule(ModuleIdentifier); -- cgit v1.2.3 From c1f5b3336836e15d193582e9b8f3e044f7d8bc1b Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 29 Feb 2024 18:15:57 +0800 Subject: feat: add module controller and continue to work on module system 1. speed up building by reducing build info sheader including 2. add module controller 3. continue to work on module system --- src/core/module/ModuleManager.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/core/module/ModuleManager.h') diff --git a/src/core/module/ModuleManager.h b/src/core/module/ModuleManager.h index 5bebe934..5110dfc2 100644 --- a/src/core/module/ModuleManager.h +++ b/src/core/module/ModuleManager.h @@ -69,6 +69,8 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager auto SearchModule(ModuleIdentifier) -> ModulePtr; + auto ListAllRegisteredModuleID() -> QList; + void RegisterModule(ModulePtr); auto IsModuleActivated(ModuleIdentifier) -> bool; @@ -79,6 +81,8 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager auto SearchEvent(EventTriggerIdentifier) -> std::optional; + auto GetModuleListening(ModuleIdentifier) -> QList; + void ActiveModule(ModuleIdentifier); void DeactiveModule(ModuleIdentifier); -- cgit v1.2.3 From 5967d6ccd9e382254a4fffdf5b54655b0faae6fb Mon Sep 17 00:00:00 2001 From: saturneric Date: Sun, 14 Apr 2024 10:19:01 +0200 Subject: fix: use qt designer placeholder instead of custom initialized --- src/core/module/ModuleManager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/module/ModuleManager.h') diff --git a/src/core/module/ModuleManager.h b/src/core/module/ModuleManager.h index 5110dfc2..d5cd8387 100644 --- a/src/core/module/ModuleManager.h +++ b/src/core/module/ModuleManager.h @@ -130,7 +130,7 @@ void TriggerEvent(const EventIdentifier& event_id, Args&&... args, * @return true * @return false */ -auto GPGFRONTEND_CORE_EXPORT IsModuleAcivate(ModuleIdentifier) -> bool; +auto GPGFRONTEND_CORE_EXPORT IsModuleActivate(ModuleIdentifier) -> bool; /** * @brief -- cgit v1.2.3 From cb2672ca430c54244df7bd46ef97256c3d840cbf Mon Sep 17 00:00:00 2001 From: saturneric Date: Sun, 14 Apr 2024 14:56:18 +0200 Subject: feat: add a grt viewer and solve some issues in gnupg info tab --- src/core/module/ModuleManager.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/core/module/ModuleManager.h') diff --git a/src/core/module/ModuleManager.h b/src/core/module/ModuleManager.h index d5cd8387..fa8d2264 100644 --- a/src/core/module/ModuleManager.h +++ b/src/core/module/ModuleManager.h @@ -48,6 +48,7 @@ class Event; class Module; class GlobalModuleContext; class ModuleManager; +class GlobalRegisterTable; using EventRefrernce = std::shared_ptr; using ModuleIdentifier = QString; @@ -97,6 +98,8 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager auto ListRTChildKeys(const QString&, const QString&) -> std::vector; + auto GRT() -> GlobalRegisterTable*; + private: class Impl; SecureUniquePtr p_; -- cgit v1.2.3 From 3d2ab7c349b02740511f0f2113fd80f7f44c8333 Mon Sep 17 00:00:00 2001 From: saturneric Date: Tue, 30 Apr 2024 16:07:33 +0200 Subject: feat: improve functions and ui on module --- src/core/module/ModuleManager.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/core/module/ModuleManager.h') diff --git a/src/core/module/ModuleManager.h b/src/core/module/ModuleManager.h index fa8d2264..5d7c1bdd 100644 --- a/src/core/module/ModuleManager.h +++ b/src/core/module/ModuleManager.h @@ -66,7 +66,7 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager virtual ~ModuleManager() override; - auto LoadModule(QString) -> void; + auto LoadModule(QString, bool) -> void; auto SearchModule(ModuleIdentifier) -> ModulePtr; @@ -76,6 +76,8 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager auto IsModuleActivated(ModuleIdentifier) -> bool; + auto IsIntegratedModule(ModuleIdentifier) -> bool; + void ListenEvent(ModuleIdentifier, EventIdentifier); void TriggerEvent(EventRefrernce); -- cgit v1.2.3 From 46870f10fdbc18d695242c945c0c39e4d832ec39 Mon Sep 17 00:00:00 2001 From: saturneric Date: Tue, 30 Apr 2024 19:58:36 +0200 Subject: fix: reset module settings object in a proper way --- src/core/module/ModuleManager.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/module/ModuleManager.h') diff --git a/src/core/module/ModuleManager.h b/src/core/module/ModuleManager.h index 5d7c1bdd..ea2d88cb 100644 --- a/src/core/module/ModuleManager.h +++ b/src/core/module/ModuleManager.h @@ -50,7 +50,7 @@ class GlobalModuleContext; class ModuleManager; class GlobalRegisterTable; -using EventRefrernce = std::shared_ptr; +using EventReference = std::shared_ptr; using ModuleIdentifier = QString; using ModulePtr = std::shared_ptr; using ModuleMangerPtr = std::shared_ptr; @@ -80,9 +80,9 @@ class GPGFRONTEND_CORE_EXPORT ModuleManager void ListenEvent(ModuleIdentifier, EventIdentifier); - void TriggerEvent(EventRefrernce); + void TriggerEvent(EventReference); - auto SearchEvent(EventTriggerIdentifier) -> std::optional; + auto SearchEvent(EventTriggerIdentifier) -> std::optional; auto GetModuleListening(ModuleIdentifier) -> QList; -- cgit v1.2.3