use distant_auth::msg::AuthenticationResponse;
use serde::{Deserialize, Serialize};
use super::{ManagerAuthenticationId, ManagerChannelId};
use crate::common::{ConnectionId, Destination, Map, UntypedRequest};
#[allow(clippy::large_enum_variant)]
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "snake_case", deny_unknown_fields, tag = "type")]
pub enum ManagerRequest {
Version,
Launch {
destination: Box<Destination>,
options: Map,
},
Connect {
destination: Box<Destination>,
options: Map,
},
Authenticate {
id: ManagerAuthenticationId,
msg: AuthenticationResponse,
},
OpenChannel {
id: ConnectionId,
},
Channel {
id: ManagerChannelId,
request: UntypedRequest<'static>,
},
CloseChannel {
id: ManagerChannelId,
},
Info { id: ConnectionId },
Kill { id: ConnectionId },
List,
}