13#ifndef __XF_TASK_BASE_H__ 
   14#define __XF_TASK_BASE_H__ 
   40#define XF_TASK_SIGNAL_READY            (1UL << 0)   
   41#define XF_TASK_SIGNAL_TIMEOUT          (1UL << 1)   
   42#define XF_TASK_SIGNAL_EVENT            (1UL << 2)   
   43#define XF_TASK_SIGNAL_RESUME           (1UL << 3)   
   52#if XF_TASK_HUNGER_IS_ENABLE 
   53#define XF_TASK_FALG_FEEL_HUNGERY       (1UL << 0)  
  133#if XF_TASK_HUNGER_IS_ENABLE 
  139#if XF_TASK_USER_DATA_IS_ENABLE 
 
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
 
task 的父对象,保存了 task 的公共属性。
 
xf_task_manager_t manager
 
xf_task_time_t suspend_time
 
const xf_task_vfunc_t * vfunc
 
虚函数表,不在 base 对象实现,由子对象完成实现。
 
const xf_task_update_t update
 
const xf_task_create_t constructor
 
const xf_task_reset_t reset
 
const xf_task_exec_t exec
 
static void task(xf_task_t task)
 
xf_task_time_t(* xf_task_update_t)(xf_task_t task)
任务更新函数。当任务出于阻塞状态时运行,更新当前任务状态。
 
void(* xf_task_reset_t)(xf_task_t task)
任务重置函数。当任务执行不如意希望任务能重新执行的时候调用。
 
void(* xf_task_delete_t)(xf_task_t task)
删除任务函数指针。函数对象的生命周期结尾时调用。
 
xf_task_t(* xf_task_create_t)(xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority, void *config)
构造任务函数指针,函数对象由它构造。
 
struct _xf_task_vfunc_t xf_task_vfunc_t
虚函数表,不在 base 对象实现,由子对象完成实现。
 
xf_err_t xf_task_vfunc_unregister(xf_task_type_t type)
task 注销虚函数注册(一般用不到的函数)。
 
void xf_task_base_init(xf_task_base_t *task_base, xf_task_manager_t manager, xf_task_type_t type, uint16_t priority, xf_task_func_t func, void *arg)
task 初始化。
 
xf_err_t xf_task_base_set_state(xf_task_t task, xf_task_state_t state)
task 设置状态。
 
struct _xf_task_base_t xf_task_base_t
task 的父对象,保存了 task 的公共属性。
 
const xf_task_vfunc_t * xf_task_get_vfunc(xf_task_type_t type)
task 获取虚函数。
 
void xf_task_base_reset(xf_task_base_t *task_base)
重置 task base 部分内容
 
void(* xf_task_exec_t)(xf_task_manager_t manager)
任务执行函数。调度器用于恢复/执行当前任务。
 
xf_err_t xf_task_vfunc_register(xf_task_type_t type, const xf_task_vfunc_t *vfunc)
task 的虚函数注册。
 
void xf_task_destructor(xf_task_t task)
任务销毁。回收任务资源
 
XF_TASK_TIME_TYPE xf_task_time_t
xf_task 时间戳类型。
 
void(* xf_task_func_t)(xf_task_t task)
任务调用函数原型。
 
enum _xf_task_type_t xf_task_type_t
任务类型,通过注册表 xf_task_reg.inc 生成相关的内容。
 
enum _xf_task_state_t xf_task_state_t
任务状态枚举。
 
void * xf_task_manager_t
任务管理器句柄。