use crate::types::{BleDevice, DeviceId};
use bytes::Bytes;
use uuid::Uuid;
#[derive(Debug, Clone)]
pub enum CentralEvent {
DeviceDiscovered(BleDevice),
DeviceConnected { device_id: DeviceId },
DeviceDisconnected { device_id: DeviceId },
CharacteristicNotification {
device_id: DeviceId,
char_uuid: Uuid,
value: Bytes,
},
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum ScanMode {
#[default]
LowLatency,
LowPower,
}
#[derive(Debug, Clone, Default)]
pub struct ScanFilter {
pub services: Vec<Uuid>,
pub mode: ScanMode,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum WriteType {
WithResponse,
WithoutResponse,
}