From 664d3cff16ceeb2d7136583d5331e9146de40643 Mon Sep 17 00:00:00 2001 From: saturneric Date: Mon, 25 Nov 2024 22:42:13 +0100 Subject: feat: prettify model event handling logic --- include/GFModuleDefine.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'include/GFModuleDefine.h') diff --git a/include/GFModuleDefine.h b/include/GFModuleDefine.h index 9585140..c36f139 100644 --- a/include/GFModuleDefine.h +++ b/include/GFModuleDefine.h @@ -44,3 +44,23 @@ return QMapToGFModuleMetaDataList( \ {{"Name", (name)}, {"Description", (desc)}, {"Author", (author)}}); \ } + +#define GF_MODULE_API_DEFINE_V2(id, name, ver, desc, author) \ + auto GFGetModuleGFSDKVersion() -> const char* { \ + return DUP(GF_SDK_VERSION_STR); \ + } \ + auto GFGetModuleQtEnvVersion() -> const char* { \ + return DUP(QT_VERSION_STR); \ + } \ + auto GFGetModuleID() -> const char* { return DUP((id)); } \ + auto GFGetModuleVersion() -> const char* { return DUP((ver)); } \ + auto GFGetModuleMetaData() -> GFModuleMetaData* { \ + return QMapToGFModuleMetaDataList( \ + {{"Name", (name)}, {"Description", (desc)}, {"Author", (author)}}); \ + } \ + using MEvent = QMap; \ + using EventHandler = std::function; \ + static QMap Module##nameEventHandlers; \ + static QMap& _gr_module_event_handlers = \ + Module##nameEventHandlers; \ + DEFINE_EXECUTE_API_USING_STANDARD_EVEN_HANDLE_MODEL \ No newline at end of file -- cgit v1.2.3