use super::tab::{TabOutput, TabScrollback};
use tab_api::{
chunk::{InputChunk, OutputChunk},
tab::{CreateTabMetadata, TabId, TabMetadata},
};
#[derive(Debug, Clone, PartialEq)]
pub enum CliSend {
Input(TabId, InputChunk),
CreateTab(CreateTabMetadata),
Retask(TabId, TabId),
RequestScrollback(TabId),
ResizeTab(TabId, (u16, u16)),
CloseTab(TabId),
DisconnectTab(TabId),
GlobalShutdown,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum CliRecv {
TabStarted(TabMetadata),
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum CliSubscriptionRecv {
Subscribe(TabId),
Unsubscribe(TabId),
Scrollback(TabScrollback),
Output(TabOutput),
Retask(TabId, Option<TabId>),
Stopped(TabId),
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum CliSubscriptionSend {
Retask(TabId),
Disconnect,
Output(TabId, OutputChunk),
Stopped(TabId),
}
#[derive(Debug, Clone)]
pub struct CliShutdown {}