XFusion API
v1.3.0
载入中...
搜索中...
未找到
xf_task_default.c
浏览该文件的文档.
1
12
/* ==================== [Includes] ========================================== */
13
14
#include "
xf_task_default.h
"
15
#include "
xf_ctask.h
"
16
#include "
xf_ttask.h
"
17
18
/* ==================== [Defines] =========================================== */
19
20
/* ==================== [Typedefs] ========================================== */
21
22
/* ==================== [Static Prototypes] ================================= */
23
24
/* ==================== [Static Variables] ================================== */
25
26
static
xf_task_manager_t
default_manager
= NULL;
27
28
/* ==================== [Macros] ============================================ */
29
30
/* ==================== [Global Functions] ================================== */
31
32
xf_err_t
xf_task_manager_default_init
(
xf_task_on_idle_t
on_idle)
33
{
34
default_manager
=
xf_task_manager_create
(on_idle);
35
if
(
default_manager
== NULL) {
36
return
XF_FAIL
;
37
}
38
return
XF_OK
;
39
}
40
41
xf_err_t
xf_task_manager_set_default_idle
(
xf_task_on_idle_t
on_idle)
42
{
43
return
xf_task_manager_set_idle
(
default_manager
, on_idle);
44
}
45
46
xf_task_manager_t
xf_task_get_default_manager
(
void
)
47
{
48
return
default_manager
;
49
}
50
51
void
xf_task_manager_run_default
(
void
)
52
{
53
xf_task_manager_run
(
default_manager
);
54
}
55
56
xf_err_t
xf_task_set_urgent_task
(
xf_task_t
task
,
bool
force)
57
{
58
return
xf_task_set_urgent_task_with_manager
(
default_manager
,
task
, force);
59
}
60
61
xf_task_t
xf_task_create
(
xf_task_type_t
type,
xf_task_func_t
func,
void
*func_arg, uint16_t priority,
void
*config)
62
{
63
return
xf_task_create_with_manager
(
default_manager
, type, func, func_arg, priority, config);
64
}
65
66
/* ==================== [Static Functions] ================================== */
xf_task_set_urgent_task
xf_err_t xf_task_set_urgent_task(xf_task_t task, bool force)
基于默认 manager,将任务设置为紧急任务,下次调度立即执行。
Definition
xf_task_default.c:56
xf_task_manager_set_default_idle
xf_err_t xf_task_manager_set_default_idle(xf_task_on_idle_t on_idle)
设置默认任务管理器的空闲回调函数
Definition
xf_task_default.c:41
xf_task_manager_run_default
void xf_task_manager_run_default(void)
开始默认启动任务管理器调度任务。
Definition
xf_task_default.c:51
xf_task_get_default_manager
xf_task_manager_t xf_task_get_default_manager(void)
获取默认的任务管理器。
Definition
xf_task_default.c:46
xf_task_manager_default_init
xf_err_t xf_task_manager_default_init(xf_task_on_idle_t on_idle)
创建默认的任务管理器。
Definition
xf_task_default.c:32
xf_task_create
xf_task_t xf_task_create(xf_task_type_t type, xf_task_func_t func, void *func_arg, uint16_t priority, void *config)
基于默认 manager,创建任务。
Definition
xf_task_default.c:61
xf_err_t
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition
xf_err.h:69
XF_FAIL
@ XF_FAIL
Definition
xf_err.h:42
XF_OK
@ XF_OK
Definition
xf_err.h:43
task
static void task(xf_task_t task)
Definition
xf_main.c:45
xf_ctask.h
有栈协程。
default_manager
static xf_task_manager_t default_manager
Definition
xf_task_default.c:26
xf_task_default.h
默认任务管理器。用于简化调用。
xf_task_create_with_manager
xf_task_t xf_task_create_with_manager(xf_task_manager_t manager, xf_task_type_t type, xf_task_func_t func, void *func_arg, uint16_t priority, void *config)
在指定任务管理器下创建任务。
Definition
xf_task_kernel.c:33
xf_task_func_t
void(* xf_task_func_t)(xf_task_t task)
任务调用函数原型。
Definition
xf_task_kernel.h:41
xf_task_type_t
enum _xf_task_type_t xf_task_type_t
任务类型,通过注册表 xf_task_reg.inc 生成相关的内容。
xf_task_manager_set_idle
xf_err_t xf_task_manager_set_idle(xf_task_manager_t manager, xf_task_on_idle_t on_idle)
设置 manager 的空闲回调函数
Definition
xf_task_manager.c:75
xf_task_manager_run
void xf_task_manager_run(xf_task_manager_t manager)
开始启动任务管理器调度任务。
Definition
xf_task_manager.c:91
xf_task_set_urgent_task_with_manager
xf_err_t xf_task_set_urgent_task_with_manager(xf_task_manager_t manager, xf_task_t task, bool force)
将任务设置为紧急任务,下次调度立即执行。
Definition
xf_task_manager.c:277
xf_task_manager_create
xf_task_manager_t xf_task_manager_create(xf_task_on_idle_t on_idle)
创建任务管理器。
Definition
xf_task_manager.c:53
xf_task_manager_t
void * xf_task_manager_t
任务管理器句柄。
Definition
xf_task_manager.h:45
xf_task_t
void * xf_task_t
任务句柄。
Definition
xf_task_manager.h:40
xf_task_on_idle_t
void(* xf_task_on_idle_t)(unsigned long int max_idle_ms)
空闲任务回调函数原型。
Definition
xf_task_manager.h:52
xf_ttask.h
定时器任务。
components
xf_task
xf_task
src
task
xf_task_default.c
生成于 2025年 一月 21日 星期二 17:25:09 , 为 XFusion API使用
1.9.8