Modify the 'DLT_File' class, rename it to 'DLT_Log' and refactor some of its functionalities. It now supports importing multiple DLT files and count the memory allocation usage
This commit is contained in:
+23
-27
@@ -101,46 +101,42 @@ namespace DLT_Type
|
||||
} DLT_Msg_Node;
|
||||
}
|
||||
|
||||
// DLT 文件类
|
||||
class DLT_File
|
||||
// DLT 日志类
|
||||
class DLT_Log
|
||||
{
|
||||
private:
|
||||
FILE *p_file; // 文件指针
|
||||
size_t msg_count; // 消息条目计数
|
||||
size_t payload_max_len; // 最长载荷长度
|
||||
size_t loaded_msg_count; // 消息条目计数
|
||||
size_t max_payload_len; // 最长载荷长度
|
||||
size_t mem_use; // 存储占用
|
||||
|
||||
DLT_Type::DLT_Msg_Node *Msg_List_Head; // 消息列表
|
||||
DLT_Type::DLT_Msg_Node *Msg_List_Head; // 消息列表头
|
||||
DLT_Type::DLT_Msg_Node *Msg_List_End; // 消息列表尾
|
||||
|
||||
/**
|
||||
* @brief 读取dlt文件头
|
||||
* @param Msg 读取后存储的目标结构体
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
* @brief 从文件中读取dlt头
|
||||
* @param p_file 要读取的文件
|
||||
* @param Msg 读取后存储的目标结构体
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
*/
|
||||
DLT_Type::DLT_Err dlt_file_read_header(DLT_Type::DLT_Msg *Msg);
|
||||
DLT_Type::DLT_Err dlt_file_read_header(FILE *p_file, DLT_Type::DLT_Msg *Msg);
|
||||
|
||||
/**
|
||||
* @brief 读取dlt文件载荷
|
||||
* @param Msg 读取后存储的目标结构体
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
* @brief 从文件中读取dlt载荷
|
||||
* @param p_file 要读取的文件
|
||||
* @param Msg 读取后存储的目标结构体
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
*/
|
||||
DLT_Type::DLT_Err dlt_file_read_payload(DLT_Type::DLT_Msg *Msg);
|
||||
|
||||
/**
|
||||
* @brief 解析dlt文件
|
||||
* @param null
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
*/
|
||||
DLT_Type::DLT_Err dlt_file_parse(void);
|
||||
DLT_Type::DLT_Err dlt_file_read_payload(FILE *p_file, DLT_Type::DLT_Msg *Msg);
|
||||
|
||||
public:
|
||||
DLT_File(); // 构造函数
|
||||
~DLT_File(); // 析构函数
|
||||
DLT_Log(); // 构造函数
|
||||
~DLT_Log(); // 析构函数
|
||||
/**
|
||||
* @brief 打开DLT文件
|
||||
* @param file_name_str 目标文件名
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
* @brief 从文件加载DLT消息,多个文件会顺序加入
|
||||
* @param file_name_str 目标文件名
|
||||
* @return DLT_Type::DLT_Err 错误类型枚举
|
||||
*/
|
||||
DLT_Type::DLT_Err open(const char *file_name_str);
|
||||
DLT_Type::DLT_Err load_from_file(const char *file_name_str);
|
||||
|
||||
/**
|
||||
* @brief 获取解析完成的消息列表
|
||||
|
||||
Reference in New Issue
Block a user