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}