24 lines
1.5 KiB
C
24 lines
1.5 KiB
C
// ============================================================
|
||
// 应用模块注册表 — X-Macro 中心化列表
|
||
//
|
||
// 注意:此文件故意不设 #pragma once 或 include guard,
|
||
// 因为需要被多次包含(每次在不同的 APP_MODULE 宏定义下展开)
|
||
// ============================================================
|
||
|
||
#ifndef APP_MODULE
|
||
#error "APP_MODULE macro must be defined before including app_modules.h"
|
||
#endif
|
||
|
||
// 格式: APP_MODULE(ENUM后缀, 配置名, init1, init2, thread入口)
|
||
// - ENUM后缀: 用于生成 ENUM_APP_<后缀> 枚举值(大写)
|
||
// - 配置名: 用于生成 "app_<配置名>" 匹配配置文件(小写)
|
||
// - init1/init2/thread: 模块初始化函数和线程入口
|
||
APP_MODULE(SYS, sys, app_sys_init1, app_sys_init2, app_sys )
|
||
APP_MODULE(CMD, cmd, app_cmd_init1, app_cmd_init2, app_cmd )
|
||
APP_MODULE(WEB_SERVER, web_server, app_web_server_init1, app_web_server_init2, app_web_server)
|
||
APP_MODULE(COM_DECODE, com_decode, app_com_decode_init1, app_com_decode_init2, app_com_decode)
|
||
APP_MODULE(IEC, iec, app_iec_init1, app_iec_init2, app_iec )
|
||
APP_MODULE(SELF_PTL, self_ptl, app_self_ptl_init1, app_self_ptl_init2, app_self_ptl )
|
||
APP_MODULE(IEC61850M, iec61850m, app_iec61850m_init1, app_iec61850m_init2, app_iec61850m )
|
||
APP_MODULE(IEC61850S, iec61850s, app_iec61850s_init1, app_iec61850s_init2, app_iec61850s )
|