use crate::frame::enums::Parameters;
use crate::frame::parameters::{
binding, bootloader, cbke, green_power, messaging, mfglib, networking, security, trust_center,
utilities, zll,
};
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum Callback {
Binding(binding::handler::Handler),
Bootloader(bootloader::handler::Handler),
Cbke(cbke::handler::Handler),
GreenPower(green_power::handler::Handler),
Messaging(messaging::handler::Handler),
MfgLib(mfglib::handler::Handler),
Networking(networking::handler::Handler),
Security(security::handler::Handler),
TrustCenter(trust_center::handler::Handler),
Utilities(utilities::handler::Handler),
Zll(zll::handler::Handler),
}
impl TryFrom<Parameters> for Callback {
type Error = Parameters;
fn try_from(parameters: Parameters) -> Result<Self, Self::Error> {
match parameters {
Parameters::Callback(callback) => Ok(callback),
Parameters::Response(_) => Err(parameters),
}
}
}