libgir/config/string_type.rs
1use std::str::FromStr;
2
3#[derive(Clone, Copy, Debug, Eq, PartialEq)]
4pub enum StringType {
5 Utf8, // &str for input, String for return
6 Filename, // Path for input, PathBuf for return
7 OsString, // OsStr for input, OsString for return
8}
9
10impl FromStr for StringType {
11 type Err = String;
12 fn from_str(s: &str) -> Result<Self, Self::Err> {
13 match s {
14 "utf8" => Ok(Self::Utf8),
15 "filename" => Ok(Self::Filename),
16 "os_string" => Ok(Self::OsString),
17 _ => Err(format!("Wrong string type '{s}'")),
18 }
19 }
20}