#![allow(
clippy::all,
clippy::pedantic,
dead_code,
unreachable_pub,
unused_imports
)]
use crate::error::ClusterError;
use matter_codec::{Element, TlvReader, Value};
pub const FEATURE_MAP: u32 = 0xFFFC;
pub const CLUSTER_REVISION: u32 = 0xFFFD;
pub const ATTRIBUTE_LIST: u32 = 0xFFFB;
pub const ACCEPTED_COMMAND_LIST: u32 = 0xFFF9;
pub const GENERATED_COMMAND_LIST: u32 = 0xFFF8;
pub fn decode_u32(tlv: &[u8]) -> Result<u32, ClusterError> {
let mut r = TlvReader::new(tlv);
match r.next()? {
Some(Element::Scalar {
value: Value::Uint(v),
..
}) => u32::try_from(v).map_err(|_| ClusterError::InvalidLength("global u32")),
_ => Err(ClusterError::UnexpectedType {
context: "global u32",
}),
}
}