Skip to main content

ezsp/frame/enums/
callback.rs

1use crate::frame::enums::Parameters;
2use crate::frame::parameters::binding::handler::Handler as Binding;
3use crate::frame::parameters::bootloader::handler::Handler as Bootloader;
4use crate::frame::parameters::cbke::handler::Handler as Cbke;
5use crate::frame::parameters::green_power::handler::Handler as GreenPower;
6use crate::frame::parameters::messaging::handler::Handler as Messaging;
7use crate::frame::parameters::mfglib::handler::Handler as MfgLib;
8use crate::frame::parameters::networking::handler::Handler as Networking;
9use crate::frame::parameters::security::handler::Handler as Security;
10use crate::frame::parameters::trust_center::handler::Handler as TrustCenter;
11use crate::frame::parameters::utilities::handler::Handler as Utilities;
12use crate::frame::parameters::zll::handler::Handler as Zll;
13
14crate::frame::parameters::parameter_group_enum!(
15    Callback,
16    Binding,
17    Bootloader,
18    Cbke,
19    GreenPower,
20    Messaging,
21    MfgLib,
22    Networking,
23    Security,
24    TrustCenter,
25    Utilities,
26    Zll,
27    impl {
28        impl TryFrom<Parameters> for Callback {
29            type Error = Parameters;
30
31            fn try_from(parameters: Parameters) -> Result<Self, Self::Error> {
32                match parameters {
33                    Parameters::Callback(callback) => Ok(callback),
34                    Parameters::Response(_) => Err(parameters),
35                }
36            }
37        }
38    },
39);