#[doc(alias = "BMM_SCHEMA_STATE")]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum BmmSchemaState {
StateCreated,
StateValidatedCreated,
StateIncludesPending,
StateIncludesProcessed,
Other(String),
}
impl BmmSchemaState {
#[must_use]
pub fn as_str(&self) -> &str {
match self {
Self::StateCreated => "State_created",
Self::StateValidatedCreated => "State_validated_created",
Self::StateIncludesPending => "State_includes_pending",
Self::StateIncludesProcessed => "State_includes_processed",
Self::Other(__s) => __s.as_str(),
}
}
#[must_use]
pub fn from_wire(__s: &str) -> Self {
match __s {
"State_created" => Self::StateCreated,
"State_validated_created" => Self::StateValidatedCreated,
"State_includes_pending" => Self::StateIncludesPending,
"State_includes_processed" => Self::StateIncludesProcessed,
_ => Self::Other(__s.to_owned()),
}
}
}
impl ::core::convert::TryFrom<&str> for BmmSchemaState {
type Error = UnknownBmmSchemaState;
fn try_from(__s: &str) -> ::core::result::Result<Self, Self::Error> {
match __s {
"State_created" => ::core::result::Result::Ok(Self::StateCreated),
"State_validated_created" => ::core::result::Result::Ok(Self::StateValidatedCreated),
"State_includes_pending" => ::core::result::Result::Ok(Self::StateIncludesPending),
"State_includes_processed" => ::core::result::Result::Ok(Self::StateIncludesProcessed),
_ => ::core::result::Result::Err(UnknownBmmSchemaState(__s.to_owned())),
}
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct UnknownBmmSchemaState(pub String);
impl ::core::fmt::Display for UnknownBmmSchemaState {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
::core::write!(f, "unknown BMM_SCHEMA_STATE value: {:?}", self.0)
}
}
impl ::std::error::Error for UnknownBmmSchemaState {}