Host API 参考
Event 接口
向其他已加载插件广播 plugin-message 事件。
接口定义
interface event {
send-event: func(event-name: string, payload: string);
}函数
send-event
- 参数:
event-name: string事件名。payload: string事件载荷字符串(通常为 JSON)。
- 返回:
()。 - 说明:发送方自己不会收到这条广播;其他活跃插件会在
on_event中以plugin-message收到一个 JSON 字符串,结构通常为{"eventName":"...","payload":"..."}。
注意事项
- 这是异步广播,但 Host API 本身是同步返回,宿主内部会把实际派发放到后台任务里执行。
- 只有“已加载且未禁用”的其他插件会收到广播。
- 宿主会把
event-name和payload再包一层 JSON 后转成plugin-message,并不是把payload原样直接作为event-payload广播出去。
示例
use crate::astrobox::psys_host;
pub fn notify_ready() {
psys_host::event::send_event("plugin-ready", r#"{"ok":true}"#);
}