XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_task_mbus.h
浏览该文件的文档.
1
12#ifndef __XF_TASK_MBUS_H__
13#define __XF_TASK_MBUS_H__
14
15/* ==================== [Includes] ========================================== */
16
18
19#if XF_TASK_MBUS_IS_ENABLE
20
21#include "xf_utils.h"
22
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/* ==================== [Defines] =========================================== */
37
38/* ==================== [Typedefs] ========================================== */
39
46typedef void (*xf_task_mbus_func_t)(const void *const data, void *user_data);
47
48/* ==================== [Global Prototypes] ================================= */
49
59xf_err_t xf_task_mbus_reg_topic(uint32_t topic_id, uint32_t size);
60
69xf_err_t xf_task_mbus_unreg_topic(uint32_t topic_id);
70
81xf_err_t xf_task_mbus_pub_async(uint32_t topic_id, void *data);
82
93xf_err_t xf_task_mbus_pub_sync(uint32_t topic_id, void *data);
94
106xf_err_t xf_task_mbus_sub(uint32_t topic_id, xf_task_mbus_func_t mbus_cb, void *user_data);
107
118xf_err_t xf_task_mbus_unsub(uint32_t topic_id, xf_task_mbus_func_t mbus_cb);
119
128xf_err_t xf_task_mbus_unsub_all(uint32_t topic_id);
129
135void xf_task_mbus_handle(void);
136
137/* ==================== [Macros] ============================================ */
138
139#ifdef __cplusplus
140} /* extern "C" */
141#endif
142
148#endif // XF_TASK_MBUS_IS_ENABLE
149
150#endif // __XF_TASK_MBUS_H__
void(* xf_task_mbus_func_t)(const void *const data, void *user_data)
mbus 的数据订阅回调函数原型。
xf_err_t xf_task_mbus_unsub(uint32_t topic_id, xf_task_mbus_func_t mbus_cb)
解除订阅。
xf_err_t xf_task_mbus_reg_topic(uint32_t topic_id, uint32_t size)
注册 topic。
xf_err_t xf_task_mbus_pub_async(uint32_t topic_id, void *data)
异步发布指定的 topic ,不会阻塞代码运行。
xf_err_t xf_task_mbus_unsub_all(uint32_t topic_id)
解除 topic下所有订阅。
void xf_task_mbus_handle(void)
处理异步的消息。
xf_err_t xf_task_mbus_sub(uint32_t topic_id, xf_task_mbus_func_t mbus_cb, void *user_data)
订阅指定的 topic。
xf_err_t xf_task_mbus_pub_sync(uint32_t topic_id, void *data)
同步发布,直接执行订阅者的回调,执行速度快。
xf_err_t xf_task_mbus_unreg_topic(uint32_t topic_id)
注销 topic
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
xf_task_utils 配置。