dbus_server_address_parser/encode/
unixexec.rs

1use super::{escape::escape, guid::to_guid};
2use crate::Unixexec;
3use std::fmt::{Display, Formatter, Result as FmtResult};
4
5impl Display for Unixexec {
6    fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
7        write!(f, "unixexec:path={}", escape(&self.path))?;
8
9        if let Some(argv0) = &self.argv0 {
10            write!(f, ",argv0={}", escape(argv0))?;
11        }
12
13        for (i, arg) in self.argv.iter().enumerate() {
14            write!(f, ",argv{}={}", i + 1, escape(arg))?;
15        }
16
17        if let Some(guid) = &self.guid {
18            write!(f, ",guid={}", to_guid(guid))
19        } else {
20            Ok(())
21        }
22    }
23}