crate::ix!();
use crate::protocol::Protocol;
pub struct Ipc {
exe_name: *const u8,
process_argv0: *const u8,
init: Rc<RefCell<dyn Init>>,
protocol: Box<dyn Protocol>,
process: Box<dyn ProcessInterface>,
}
impl IpcInterface for Ipc { }
impl SpawnProcess for Ipc {
fn spawn_process(&mut self, new_exe_name: *const u8) -> Box<dyn Init> {
todo!();
}
}
impl StartSpawnedProcess for Ipc {
fn start_spawned_process(&mut self,
argc: i32,
argv: &[*mut u8],
exit_status: &mut i32) -> bool {
todo!();
}
}
impl AddCleanup for Ipc {
fn add_cleanup(&mut self,
ty: TypeIndex,
iface: *mut c_void,
cleanup: fn() -> ()) {
todo!();
}
}
impl Context for Ipc {
fn context(&mut self) -> Rc<RefCell<IpcContext>> {
todo!();
}
}
impl Ipc {
pub fn new(
exe_name: *const u8,
process_argv0: *const u8,
init: Rc<RefCell<dyn Init>>) -> Self {
todo!();
}
}
pub fn make_ipc(
exe_name: *const u8,
process_argv0: *const u8,
init: Rc<RefCell<dyn Init>>) -> Box<Ipc> {
todo!();
}