XFusion API v1.3.0
|
本头文件外界无法调用,manager 基于 base 进行调度。 开放部分在 xf_task_kernel.h . 更多...
#include "xf_task_kernel.h"
结构体 | |
struct | _xf_task_vfunc_t |
虚函数表,不在 base 对象实现,由子对象完成实现。 更多... | |
struct | _xf_task_base_t |
task 的父对象,保存了 task 的公共属性。 更多... | |
宏定义 | |
#define | XF_TASK_FALG_FEEL_HUNGERY (1UL << 0) |
外部设置的标志位,内部只会读取不会设置. | |
XF_TASK_SIGNAL | |
内部传递消息使用,外部无法设置。 | |
#define | XF_TASK_SIGNAL_READY (1UL << 0) |
#define | XF_TASK_SIGNAL_TIMEOUT (1UL << 1) |
#define | XF_TASK_SIGNAL_EVENT (1UL << 2) |
#define | XF_TASK_SIGNAL_RESUME (1UL << 3) |
类型定义 | |
typedef 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) |
构造任务函数指针,函数对象由它构造。 | |
typedef void(* | xf_task_delete_t) (xf_task_t task) |
删除任务函数指针。函数对象的生命周期结尾时调用。 | |
typedef void(* | xf_task_reset_t) (xf_task_t task) |
任务重置函数。当任务执行不如意希望任务能重新执行的时候调用。 | |
typedef xf_task_time_t(* | xf_task_update_t) (xf_task_t task) |
任务更新函数。当任务出于阻塞状态时运行,更新当前任务状态。 | |
typedef void(* | xf_task_exec_t) (xf_task_manager_t manager) |
任务执行函数。调度器用于恢复/执行当前任务。 | |
typedef struct _xf_task_vfunc_t | xf_task_vfunc_t |
虚函数表,不在 base 对象实现,由子对象完成实现。 | |
typedef struct _xf_task_base_t | xf_task_base_t |
task 的父对象,保存了 task 的公共属性。 | |
函数 | |
xf_err_t | xf_task_vfunc_register (xf_task_type_t type, const xf_task_vfunc_t *vfunc) |
task 的虚函数注册。 | |
xf_err_t | xf_task_vfunc_unregister (xf_task_type_t type) |
task 注销虚函数注册(一般用不到的函数)。 | |
const xf_task_vfunc_t * | xf_task_get_vfunc (xf_task_type_t type) |
task 获取虚函数。 | |
xf_err_t | xf_task_base_set_state (xf_task_t task, xf_task_state_t state) |
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 初始化。 | |
void | xf_task_base_reset (xf_task_base_t *task_base) |
重置 task base 部分内容 | |
void | xf_task_destructor (xf_task_t task) |
任务销毁。回收任务资源 | |
本头文件外界无法调用,manager 基于 base 进行调度。 开放部分在 xf_task_kernel.h .
在文件 xf_task_base.h 中定义.
#define XF_TASK_SIGNAL_READY (1UL << 0) |
准备信号,通知调度器该任务可进入就绪
在文件 xf_task_base.h 第 40 行定义.
#define XF_TASK_SIGNAL_TIMEOUT (1UL << 1) |
超时信号,会在任务更新中转变为准备信号
在文件 xf_task_base.h 第 41 行定义.
#define XF_TASK_SIGNAL_EVENT (1UL << 2) |
事件信号,会在任务更新中转变为准备信号
在文件 xf_task_base.h 第 42 行定义.
#define XF_TASK_SIGNAL_RESUME (1UL << 3) |
恢复信号,通知任务从挂起状态被恢复
在文件 xf_task_base.h 第 43 行定义.
#define XF_TASK_FALG_FEEL_HUNGERY (1UL << 0) |
typedef 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) |
构造任务函数指针,函数对象由它构造。
manager | 任务所从属的任务管理器。 |
func | 任务执行的函数。 |
func_arg | 任务用户定义的参数。 |
priority | 任务优先级。 |
config | 任务参数配置(不同任务配置不同)。 |
在文件 xf_task_base.h 第 68 行定义.
typedef xf_task_time_t(* xf_task_update_t) (xf_task_t task) |
typedef void(* xf_task_exec_t) (xf_task_manager_t manager) |
typedef struct _xf_task_vfunc_t xf_task_vfunc_t |
虚函数表,不在 base 对象实现,由子对象完成实现。
typedef struct _xf_task_base_t xf_task_base_t |
task 的父对象,保存了 task 的公共属性。
xf_err_t xf_task_vfunc_register | ( | xf_task_type_t | type, |
const xf_task_vfunc_t * | vfunc | ||
) |
task 的虚函数注册。
type | 任务类型,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 |
vfunc | 用于调用子任务功能的虚函数。 |
在文件 xf_task_base.c 第 34 行定义.
xf_err_t xf_task_vfunc_unregister | ( | xf_task_type_t | type | ) |
task 注销虚函数注册(一般用不到的函数)。
type | 任务类型,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 |
在文件 xf_task_base.c 第 44 行定义.
const xf_task_vfunc_t * xf_task_get_vfunc | ( | xf_task_type_t | type | ) |
task 获取虚函数。
type | 任务,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 |
在文件 xf_task_base.c 第 53 行定义.
xf_err_t xf_task_base_set_state | ( | xf_task_t | task, |
xf_task_state_t | state | ||
) |
task 设置状态。
task | task 任务对象。 |
state | task 任务状态。 |
在文件 xf_task_base.c 第 105 行定义.
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 初始化。
task_base | task base 对象。 |
manager | task 所从属的任务管理器。 |
type | task 子任务类型,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 |
priority | 任务优先级。 |
func | 任务执行函数。 |
arg | 任务自定义参数。 |
在文件 xf_task_base.c 第 61 行定义.
void xf_task_base_reset | ( | xf_task_base_t * | task_base | ) |
void xf_task_destructor | ( | xf_task_t | task | ) |