qemu_command_builder/
msg.rs

1use crate::common::OnOff;
2use crate::to_command::{ToArg, ToCommand};
3use bon::Builder;
4
5#[derive(Default, Builder)]
6pub struct Msg {
7    timestamp: Option<OnOff>,
8    guest_name: Option<OnOff>,
9}
10
11impl ToCommand for Msg {
12    fn to_command(&self) -> Vec<String> {
13        let mut cmd = vec![];
14
15        cmd.push("-msg".to_string());
16
17        let mut args = vec![];
18        if let Some(timestamp) = &self.timestamp {
19            args.push(format!("timestamp={}", timestamp.to_arg()));
20        }
21        if let Some(guest_name) = &self.guest_name {
22            args.push(format!("guest-name={}", guest_name.to_arg()));
23        }
24
25        cmd.push(args.join(","));
26        cmd
27    }
28}