20#define TAG "task_base"
65 task_base->
func = func;
68 task_base->
type = type;
80#if XF_TASK_HUNGER_IS_ENABLE
84#if XF_TASK_USER_DATA_IS_ENABLE
99#if XF_TASK_HUNGER_IS_ENABLE
#define XF_ASSERT(condition, retval, tag, format,...)
xfusion 断言宏(条件 不成立 时则输出日志后返回)。
#define BITS_SET0(var, bits_mask)
设置 32 位变量 var 的对应位掩码 bits_mask 为 1 的地方为 0。
#define BITS_CHECK(src, bits_mask)
检查变量 var 在 bits_mask 的位置上是否存在 1。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
static void xf_list_init(xf_list_t *list)
动态初始化链表.
static void xf_list_del_init(xf_list_t *entry)
xf_list_del_init - 从链表中删除节点, 并重新初始化.
task 的父对象,保存了 task 的公共属性。
xf_task_manager_t manager
xf_task_time_t suspend_time
const xf_task_vfunc_t * vfunc
虚函数表,不在 base 对象实现,由子对象完成实现。
static void task(xf_task_t task)
#define XF_LOGD(tag, format,...)
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 设置状态。
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 部分内容
xf_err_t xf_task_vfunc_register(xf_task_type_t type, const xf_task_vfunc_t *vfunc)
task 的虚函数注册。
static const xf_task_vfunc_t * _xf_task_vfunc_group[_XF_TASK_TYPE_MAX]
void xf_task_destructor(xf_task_t task)
任务销毁。回收任务资源
本头文件外界无法调用,manager 基于 base 进行调度。 开放部分在 xf_task_kernel.h .
#define XF_TASK_SIGNAL_RESUME
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
任务状态枚举。
xf_err_t xf_task_manager_task_blocked(xf_task_manager_t manager, xf_task_t task)
设置当前任务为阻塞。
void * xf_task_manager_t
任务管理器句柄。