Mountain/IPC/WindServiceHandlers/Terminal.rs
1
2//! # Terminal handlers
3//!
4//! Two related responsibilities:
5//!
6//! - `Terminal*` - operate on PTYs that are already registered via the
7//! `TerminalProvider` trait. Every method takes a provider-assigned
8//! `terminal_id` (`u64`).
9//! - `LocalPTY*` - read-only platform queries that don't touch any registered
10//! PTY: discover available shells, default shell, and the current process
11//! environment.
12//!
13//! Layout (one export per file, file name = identity):
14//! - `TerminalCreate::TerminalCreate`, `TerminalSendText::TerminalSendText`,
15//! `TerminalDispose::TerminalDispose`, `TerminalShow::TerminalShow`,
16//! `TerminalHide::TerminalHide`.
17//! - `LocalPTYGetProfiles::LocalPTYGetProfiles`,
18//! `LocalPTYGetDefaultShell::LocalPTYGetDefaultShell`,
19//! `LocalPTYGetEnvironment::LocalPTYGetEnvironment`.
20//! - `SerializeTerminalState::SerializeTerminalState` - snapshot all active
21//! terminals to `ISerializedTerminalState[]` for window-reload restoration.
22//! - `ReviveTerminalProcesses::ReviveTerminalProcesses` - respawn terminals
23//! from a previously serialised snapshot.
24//! - `AttachToProcess::AttachToProcess` - reconnect the workbench to an
25//! existing Mountain PTY after a window reload.
26//! - `DetachFromProcess::DetachFromProcess` - detach the workbench; PTY stays
27//! alive with output buffering for the next attach.
28
29pub mod AttachToProcess;
30
31pub mod LocalPTYCreateProcess;
32
33pub mod LocalPTYFreePortKillProcess;
34
35pub mod LocalPTYResize;
36
37pub mod DetachFromProcess;
38
39pub mod LocalPTYGetDefaultShell;
40
41pub mod LocalPTYGetEnvironment;
42
43pub mod LocalPTYGetProfiles;
44
45pub mod ReviveTerminalProcesses;
46
47pub mod SerializeTerminalState;
48
49pub mod TerminalCreate;
50
51pub mod TerminalDispose;
52
53pub mod TerminalHide;
54
55pub mod TerminalSendText;
56
57pub mod TerminalShow;