/* app/reader_ipc.h — 阅读器系统翻页信号接收(launcher 经 IPC 下发 MSG_KEY_PAGEUP/PAGEDOWN)。 * * 系统级能力(READER_UI_DESIGN §E / 用户 2026-09-04 拍板):音量键翻页由 launcher 判决 * (仅当前台 App = 本阅读器且 app.json 声明 volume_page),下发消息;本模块在 App 侧 * 维持一条持久 IPC 连接接收并转成 `reader_page_key(±1)`。 * * 设计(对齐 SDK meow_ui_media.c 模式): * - 后台线程懒连 meow_ipc.sock,HELLO(app_id=os.meow.reader) 后 poll 读下发帧; * - 收到 MSG_KEY_PAGEUP/PAGEDOWN → 调 reader_page_key(-1/+1)(UI 线程经 tick 消费, * 避免跨线程直接改页面状态); * - best-effort:launcher 不在 / 断线 → 重试,绝不崩;App 退出 reader_ipc_stop() 收尾。 * * 内存纪律:显式小线程栈(64KB),符合阅读态 ≤8MB。 */ #ifndef READER_IPC_H #define READER_IPC_H #ifdef __cplusplus extern "C" { #endif /* 启动翻页信号接收线程(幂等)。读入 app_id = "os.meow.reader"。 * 转发目标:reader_page_key(dir)(reader_internal.h)。 */ void reader_ipc_start(void); /* 停止线程并断开(App 退出时调用;幂等)。 */ void reader_ipc_stop(void); #ifdef __cplusplus } #endif #endif /* READER_IPC_H */