增加事件驱动和业务回滚处理方式
This commit is contained in:
120
app/state_manager.h
Normal file
120
app/state_manager.h
Normal file
@ -0,0 +1,120 @@
|
||||
/*
|
||||
* state_manager.h
|
||||
*
|
||||
* Created on: 2026-03-04
|
||||
* Author: RT-Thread
|
||||
*
|
||||
* 功能: 状态管理模块头文件
|
||||
* 依赖: RT-Thread Nano, osal
|
||||
* 跨平台适配: 基于RT-Thread Nano,使用标准API
|
||||
*/
|
||||
|
||||
#ifndef STATE_MANAGER_H
|
||||
#define STATE_MANAGER_H
|
||||
|
||||
#include <rtthread.h>
|
||||
#include "osal.h"
|
||||
|
||||
/* 网络状态定义 */
|
||||
typedef enum {
|
||||
NETWORK_STATE_DISCONNECTED = 0,
|
||||
NETWORK_STATE_CONNECTING,
|
||||
NETWORK_STATE_CONNECTED,
|
||||
NETWORK_STATE_ERROR
|
||||
} network_state_t;
|
||||
|
||||
/* 传感器状态定义 */
|
||||
typedef enum {
|
||||
SENSOR_STATE_IDLE = 0,
|
||||
SENSOR_STATE_READING,
|
||||
SENSOR_STATE_READY,
|
||||
SENSOR_STATE_ERROR
|
||||
} sensor_state_t;
|
||||
|
||||
/* TCP状态定义 */
|
||||
typedef enum {
|
||||
TCP_STATE_CLOSED = 0,
|
||||
TCP_STATE_LISTENING,
|
||||
TCP_STATE_CONNECTED,
|
||||
TCP_STATE_ERROR
|
||||
} tcp_state_t;
|
||||
|
||||
/* 错误代码定义 */
|
||||
typedef enum {
|
||||
ERROR_NONE = 0,
|
||||
ERROR_NETWORK,
|
||||
ERROR_SENSOR,
|
||||
ERROR_TCP,
|
||||
ERROR_UNKNOWN
|
||||
} error_code_t;
|
||||
|
||||
/* 系统状态结构体 */
|
||||
typedef struct {
|
||||
network_state_t network_state; /* 网络状态 */
|
||||
sensor_state_t sensor_state; /* 传感器状态 */
|
||||
tcp_state_t tcp_state; /* TCP状态 */
|
||||
error_code_t error_code; /* 错误代码 */
|
||||
} system_state_t;
|
||||
|
||||
/* 状态快照结构体 */
|
||||
typedef struct {
|
||||
system_state_t system_state; /* 系统状态 */
|
||||
rt_tick_t timestamp; /* 时间戳 */
|
||||
} state_snapshot_t;
|
||||
|
||||
/**
|
||||
* @brief 初始化状态管理
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_init(void);
|
||||
|
||||
/**
|
||||
* @brief 获取系统状态
|
||||
* @param state 系统状态指针
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_get_system_state(system_state_t *state);
|
||||
|
||||
/**
|
||||
* @brief 设置网络状态
|
||||
* @param state 网络状态
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_set_network_state(network_state_t state);
|
||||
|
||||
/**
|
||||
* @brief 设置传感器状态
|
||||
* @param state 传感器状态
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_set_sensor_state(sensor_state_t state);
|
||||
|
||||
/**
|
||||
* @brief 设置TCP状态
|
||||
* @param state TCP状态
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_set_tcp_state(tcp_state_t state);
|
||||
|
||||
/**
|
||||
* @brief 设置错误代码
|
||||
* @param error 错误代码
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_set_error_code(error_code_t error);
|
||||
|
||||
/**
|
||||
* @brief 创建状态快照
|
||||
* @param snapshot 状态快照指针
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_create_snapshot(state_snapshot_t *snapshot);
|
||||
|
||||
/**
|
||||
* @brief 恢复状态快照
|
||||
* @param snapshot 状态快照指针
|
||||
* @return 0 成功,非0 失败
|
||||
*/
|
||||
int state_manager_restore_snapshot(state_snapshot_t *snapshot);
|
||||
|
||||
#endif /* STATE_MANAGER_H */
|
||||
Reference in New Issue
Block a user