跳到主要内容

IPC 通信 API

IPC 通信

发送 IPC 消息

函数签名

int send_ipc_message(uint32_t window_id, const char* message_type, const char* message_content);

功能描述 向前端发送 IPC 消息。

参数

  • window_id:窗口 ID
  • message_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_cbIpcCallback,IPC 回调函数

返回值

  • 1:成功
  • 0:失败

数据结构

回调函数类型定义

IpcCallback

定义

typedef int (*IpcCallback)(uint32_t window_id, const char* event_data);

global通用事件回调函数类型定义,无论是IPC事件还是程序事件,都可以使用此回调函数。

重要变更

1.0版本开始,回调函数允许直接返回文本作为事件数据。

参数说明

参数类型说明
window_iduint32_t窗口 ID
event_dataconst char*事件数据,UTF-8 字符串

返回值说明

返回值说明
0允许操作
1阻止操作
const char*前端通讯可以直接返回文本,或推荐jade_text_create 创建的安全文本指针