整定一版
This commit is contained in:
76
src/core/menu_event.h
Normal file
76
src/core/menu_event.h
Normal file
@ -0,0 +1,76 @@
|
||||
/**
|
||||
**********************************************************************************************************************
|
||||
* @file menu_event.h
|
||||
* @brief 菜单组件事件队列功能声明
|
||||
* @author menu_component
|
||||
* @date 2025-12-19
|
||||
**********************************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef MENU_EVENT_H
|
||||
#define MENU_EVENT_H
|
||||
|
||||
/* Includes ----------------------------------------------------------------------------------------------------------*/
|
||||
#include "menu_types.h"
|
||||
|
||||
/* 函数声明 ---------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @brief 初始化事件队列
|
||||
* @param queue 事件队列指针
|
||||
*/
|
||||
void menu_event_queue_init(MenuEventQueue* queue);
|
||||
|
||||
/**
|
||||
* @brief 检查事件队列是否为空
|
||||
* @param queue 事件队列指针
|
||||
* @return true为空,false不为空
|
||||
*/
|
||||
bool menu_event_queue_is_empty(const MenuEventQueue* queue);
|
||||
|
||||
/**
|
||||
* @brief 检查事件队列是否已满
|
||||
* @param queue 事件队列指针
|
||||
* @return true已满,false未满
|
||||
*/
|
||||
bool menu_event_queue_is_full(const MenuEventQueue* queue);
|
||||
|
||||
/**
|
||||
* @brief 获取事件队列中的元素数量
|
||||
* @param queue 事件队列指针
|
||||
* @return 元素数量
|
||||
*/
|
||||
uint8_t menu_event_queue_get_count(const MenuEventQueue* queue);
|
||||
|
||||
/**
|
||||
* @brief 向事件队列添加事件
|
||||
* @param queue 事件队列指针
|
||||
* @param event 要添加的事件
|
||||
* @return 错误码
|
||||
*/
|
||||
MenuErrCode menu_event_queue_push(MenuEventQueue* queue, const MenuEvent* event);
|
||||
|
||||
/**
|
||||
* @brief 从事件队列获取下一个事件
|
||||
* @param queue 事件队列指针
|
||||
* @param event 用于存储获取的事件
|
||||
* @return 错误码
|
||||
*/
|
||||
MenuErrCode menu_event_queue_pop(MenuEventQueue* queue, MenuEvent* event);
|
||||
|
||||
/**
|
||||
* @brief 清空事件队列
|
||||
* @param queue 事件队列指针
|
||||
*/
|
||||
void menu_event_queue_clear(MenuEventQueue* queue);
|
||||
|
||||
/**
|
||||
* @brief 向事件队列推送一个简单事件
|
||||
* @param core_ctx 菜单核心上下文
|
||||
* @param type 事件类型
|
||||
* @param priority 事件优先级
|
||||
* @return 错误码
|
||||
*/
|
||||
MenuErrCode menu_core_post_event(struct MenuCoreCtx* core_ctx, MenuEventType type, uint8_t priority);
|
||||
|
||||
#endif /* MENU_EVENT_H */
|
||||
Reference in New Issue
Block a user