IPC 通信 API
IPC 通信
发送 IPC 消息
函数签名
int send_ipc_message(uint32_t window_id, const char* message_type, const char* message_content);
功能描述 向前端发送 IPC 消息。
参数
window_id:窗口 IDmessage_type:消息类型message_content:消息内容
返回值
- 1:成功
- 0:失败
注册事件回调
函数签名
uint32_t jade_on(const char* event_name, IpcCallback callback);
功能描述 注册一个事件处理器,用于接收 JadeView 发出的通知(如窗口状态变化、WebView 事件等各种系统事件)。当指定事件触发时,回调函数将被调用。
参数
event_name:事件名称callback:事件回调函数
返回值
- 返回注册的回调 ID,如果注册失败返回 0
注销事件回调
函数签名
int jade_off(const char* event_name, uint32_t callback_id);
功能描述 注销指定事件的指定回调处理器。
参数
event_name:事件名称callback_id:要注销的回调 ID
返回值
- 1:成功
- 0:失败
注册 IPC 消息处理器
函数签名
int register_ipc_handler(const char* channel, IpcCallback ipc_cb);
功能描述
注册一个 IPC 通道的回调处理器,用于接收前端通过 jade.invoke 发出的通知。当前端调用 jade.invoke(channel, data) 时,对应的回调函数将被触发。
重要变更
1.0版本开始,回调函数允许直接返回文本作为事件数据。
参数
channel:IPC 通道名称ipc_cb:IpcCallback,IPC 回调函数
返回值
- 1:成功
- 0:失败
数据结构
回调函数类型定义
IpcCallback
定义
typedef int (*IpcCallback)(uint32_t window_id, const char* event_data);
global通用事件回调函数类型定义,无论是IPC事件还是程序事件,都可以使用此回调函数。
重要变更
1.0版本开始,回调函数允许直接返回文本作为事件数据。
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
window_id | uint32_t | 窗口 ID |
event_data | const char* | 事件数据,UTF-8 字符串 |
返回值说明
| 返回值 | 说明 |
|---|---|
0 | 允许操作 |
1 | 阻止操作 |
| const char* | 前端通讯可以直接返回文本,或推荐jade_text_create 创建的安全文本指针 |