Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
Marco.h 文件参考

模块工具宏 更多...

#include "sese/plugin/ModuleInfo.h"
#include "sese/Util.h"

浏览该文件的源代码.

宏定义

#define SESE_EXTERN   extern "C"
 
#define GET_MODULE_INFO_FUNC_NAME   getModuleInfo
 
#define GET_CLASS_FACTORY_FUNC_NAME   getFactory
 
#define REGISTER_CLASS(type)
 
#define DEFINE_CLASS_FACTORY(name, version, description)
 

详细描述

模块工具宏

作者
kaoru
版本
1.0

宏定义说明

◆ DEFINE_CLASS_FACTORY

#define DEFINE_CLASS_FACTORY ( name,
version,
description )
值:
class name final : public sese::plugin::ClassFactory { \
public: \
name() : ClassFactory() { \
} \
void init() override; \
}; \
static sese::plugin::ModuleInfo info{#name, version, description}; \
return &info; \
} \
static name factory; \
return &factory; \
} \
void name::init()

◆ GET_CLASS_FACTORY_FUNC_NAME

#define GET_CLASS_FACTORY_FUNC_NAME   getFactory

被这些函数引用 sese::plugin::Module::open().

◆ GET_MODULE_INFO_FUNC_NAME

#define GET_MODULE_INFO_FUNC_NAME   getModuleInfo

被这些函数引用 sese::plugin::Module::open().

◆ REGISTER_CLASS

#define REGISTER_CLASS ( type)
值:
{ \
auto t = &typeid(type); \
auto real_name = sese::getClassName(t); \
this->infoMap[real_name] = {t, [] { return std::make_shared<type>(); }}; \
} \

◆ SESE_EXTERN

#define SESE_EXTERN   extern "C"