Skip to main content

dispatch_command

Function dispatch_command 

Source
pub unsafe fn dispatch_command(
    plugin: &dyn PackageManager,
    project_root: PmpxStr,
    matched: *const PmpxStr,
    matched_len: usize,
    verb: u32,
    args: *const PmpxStr,
    args_len: usize,
    out: *mut PmpxCommand,
) -> u32
Expand description

一次 command 调用的全部接线:读输入 → 调 crate::PackageManager::command → 写输出。

这段逻辑住在这个 crate 里,而不是在 export! 宏里,是为了它能被直接测试 —— 宏里生成的代码只能通过真的加载一个 cdylib 来覆盖。

§Safety

见 PmpxPluginV1::command 的 Safety 段。此外 plugin 必须是本进程里有效的实例。