playhard_launcher/
options.rs1use std::{ffi::OsString, path::PathBuf, time::Duration};
2
3#[derive(Debug, Clone, Copy, Eq, PartialEq)]
5pub enum TransportMode {
6 WebSocket,
8 Pipe,
10}
11
12#[derive(Debug, Clone, Eq, PartialEq)]
14pub struct LaunchOptions {
15 pub executable_path: Option<PathBuf>,
17 pub user_data_dir: Option<PathBuf>,
19 pub transport_mode: TransportMode,
21 pub headless: bool,
23 pub args: Vec<OsString>,
25 pub startup_timeout: Duration,
27}
28
29impl Default for LaunchOptions {
30 fn default() -> Self {
31 Self {
32 executable_path: None,
33 user_data_dir: None,
34 transport_mode: TransportMode::WebSocket,
35 headless: false,
36 args: Vec::new(),
37 startup_timeout: Duration::from_secs(15),
38 }
39 }
40}