48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# 参数缺省值重构方案
|
||
|
||
**原则**:缺省值只存在于 `param.xml`,运行时不再存储。
|
||
|
||
## 改动清单
|
||
|
||
### T1: 移除 `stru_signal.vec_p_default_data`
|
||
**文件**: `dc_signal.h`
|
||
- 删除 `std::vector<void *> vec_p_default_data;` 字段
|
||
|
||
### T2: 移除 API 中的默认值参数及返回值
|
||
**文件**: `myDatacenter.h`, `dc_signal.cpp`
|
||
- `dc_signal_ao()` — 删除 `void *p_default_data` 参数
|
||
- `dc_signal_param()` — 删除 `void **p_default_data` 参数
|
||
- `dc_get_ao_signal_info()` — 删除 `void **p_default_data` 输出参数
|
||
- `dc_get_param_signal_info()` — 删除 `std::vector<void *> *p_vec_p_default_data` 输出参数
|
||
- 删除 `dc_signal_ao_add_check()` / `dc_signal_param_add_check()`(不复存在)
|
||
|
||
### T3: `dc_param.cpp` 不创建默认值
|
||
**文件**: `dc_param.cpp`
|
||
- `dc_param_register_signals()` 中删除 `p_default_data` 创建和传参
|
||
- 值优先级:self_param.xml value > param.xml value > param.xml default(逻辑不变,只是不再单独创建 default 指针)
|
||
|
||
### T4: `self_ptl` 不再创建/传递默认值
|
||
**文件**: `self_ptl.cpp`, `self_ptl.h`
|
||
- `stru_self_ptl_cfg_param_data` 删除 `vec_p_default_data`
|
||
- `self_ptl_cfg_init()` 删除 `p_default_data`/`p_default_val_data` 创建
|
||
- `self_ptl_do_signal_out()` 删除默认值传参
|
||
- `method.cpp` CLI 展示不再读取 `vec_p_default_data`
|
||
|
||
### T5: `ws_method` 去掉默认值
|
||
**文件**: `ws_method.cpp`, `ws_method.h`
|
||
- `stru_ws_signal` 删除 `vec_p_default_data`
|
||
- 删除所有默认值读写
|
||
|
||
### T6: `iec61850m` 不再创建默认值
|
||
**文件**: `iec61850m.cpp`
|
||
- 删除 `dc_create_data_ptr_by_type` 调用 + `p_default` 赋值
|
||
|
||
### T7: `dc_param_cfg_check()` 不写 default 字段
|
||
**文件**: `dc_signal.cpp`
|
||
- `self_param.xml` 只写 `value`,不写 `default`
|
||
|
||
## 验证
|
||
```bash
|
||
./release/build.sh
|
||
```
|