use crate::ember::Eui64;
use crate::ember::key::{Status, TrustCenter};
crate::frame::parameters::handler!(
0x009B,
{ partner: Eui64, status: u8 },
impl {
impl Handler {
pub fn partner(&self) -> Result<Eui64, Result<Status, u8>> {
match self.status() {
Ok(
Status::AppLinkKeyEstablished
| Status::TrustCenterLinkKeyEstablished
| Status::TrustCenter(TrustCenter::RespondedToKeyRequest),
) => Ok(self.partner),
Ok(other) => Err(Ok(other)),
Err(invalid) => Err(Err(invalid)),
}
}
pub fn status(&self) -> Result<Status, u8> {
Status::try_from(self.status)
}
}
}
);