#![allow(dead_code)]
#![allow(missing_docs)]
use crate::aps::aib::AIBAttribute;
use crate::aps::aib::AIBAttributeValue;
use crate::aps::types::Address;
use crate::aps::types::{self};
type DstAddrMode = u8;
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ApsmeBindRequest {
pub src_address: Address,
pub src_endpoint: types::SrcEndpoint,
pub cluster_id: u16,
pub dst_addr_mode: DstAddrMode,
pub dst_address: u8,
pub dst_endpoint: u8,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub enum ApsmeBindRequestStatus {
#[default]
Success,
IllegalRequest,
TableFull,
NotSupported,
}
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ApsmeBindConfirm {
pub(crate) status: ApsmeBindRequestStatus,
pub src_address: Address,
pub src_endpoint: types::SrcEndpoint,
pub cluster_id: u16,
pub dst_addr_mode: DstAddrMode,
pub dst_address: u8,
pub dst_endpoint: u8,
}
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ApsmeUnbindRequest {
pub(crate) src_address: Address,
pub(crate) src_endpoint: types::SrcEndpoint,
pub(crate) cluster_id: u16,
pub(crate) dst_addr_mode: DstAddrMode,
pub(crate) dst_address: u8,
pub(crate) dst_endpoint: u8,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub enum ApsmeUnbindRequestStatus {
#[default]
Success,
IllegalRequest,
InvalidBinding,
}
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ApsmeUnbindConfirm {
pub(crate) status: ApsmeUnbindRequestStatus,
pub(crate) src_address: Address,
pub(crate) src_endpoint: types::SrcEndpoint,
pub(crate) cluster_id: u16,
pub(crate) dst_addr_mode: DstAddrMode,
pub(crate) dst_address: u8,
pub(crate) dst_endpoint: u8,
}
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ApsmeGetRequest {
attribute: AIBAttribute,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeGetConfirm {
pub(crate) status: ApsmeGetConfirmStatus,
pub(crate) attribute: u8,
pub(crate) attribute_length: u8,
pub(crate) attribute_value: Option<AIBAttributeValue>,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub enum ApsmeGetConfirmStatus {
#[default]
Success,
UnsupportedAttribute,
}
#[derive(Debug, Clone, Default, PartialEq)]
pub struct ApsmeSetRequest {
attribute: AIBAttribute,
attribute_length: u8,
attribute_value: AIBAttributeValue,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub enum ApsmeSetConfirmStatus {
#[default]
Success,
InvalidParameter,
UnsupportedAttribute,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeSetConfirm {
pub(crate) status: ApsmeSetConfirmStatus,
pub(crate) identifier: u8,
}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeAddGroupRequest {}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeAddGroupConfirm {}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeRemoveGroupRequest {}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeRemoveGroupConfirm {}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeRemoveAllGroupsRequest {}
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ApsmeRemoveAllGroupsConfirm {}