mod account;
mod binary;
mod ble;
mod busy;
mod fields;
mod ok;
mod settings;
mod smart_home;
mod storage;
mod streaming;
mod system;
mod time;
mod unsupported;
mod updater;
mod wifi;
use std::fmt;
use serde::Serialize;
pub use crate::reporter::events::account::{
AccountBackendEvent, AccountInfoEvent, AccountStatusEvent,
};
pub use crate::reporter::events::binary::Payload;
pub use crate::reporter::events::ble::BleStatusEvent;
pub use crate::reporter::events::busy::{BusyProfileEvent, BusySnapshotEvent};
pub use crate::reporter::events::ok::OkEvent;
pub use crate::reporter::events::settings::{
SettingsAccessEvent, SettingsBrightnessEvent, SettingsNameEvent, SettingsVolumeEvent,
};
pub use crate::reporter::events::smart_home::{
SmartHomePairingEvent, SmartHomeStartPairingEvent, SmartHomeSwitchEvent,
};
pub use crate::reporter::events::storage::{
StorageListEvent, StorageReadEvent, StorageStatusEvent,
};
pub use crate::reporter::events::streaming::{
FramePayload, StreamingScreenEvent, StreamingStatusEvent,
};
pub use crate::reporter::events::system::{
SystemLogDumpEvent, SystemStatusDeviceEvent, SystemStatusEvent, SystemStatusFirmwareEvent,
SystemStatusPowerEvent, SystemStatusSystemEvent, SystemTransportEvent, SystemVersionEvent,
};
pub use crate::reporter::events::time::{TimeNowEvent, TimeTimezoneEvent, TimeTzlistEvent};
pub use crate::reporter::events::unsupported::UnsupportedEvent;
pub use crate::reporter::events::updater::{
UpdaterAutoupdateEvent, UpdaterChangelogEvent, UpdaterStatusEvent,
};
pub use crate::reporter::events::wifi::WifiStatusEvent;
#[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(tag = "event", rename_all = "snake_case")]
pub enum CliEvent {
Ok(OkEvent),
Unsupported(UnsupportedEvent),
AccountInfo(AccountInfoEvent),
AccountStatus(AccountStatusEvent),
AccountBackend(AccountBackendEvent),
BleStatus(BleStatusEvent),
BusySnapshot(Box<BusySnapshotEvent>),
BusyProfile(Box<BusyProfileEvent>),
SettingsAccess(SettingsAccessEvent),
SettingsName(SettingsNameEvent),
SettingsVolume(SettingsVolumeEvent),
SettingsBrightness(SettingsBrightnessEvent),
SmartHomePairing(SmartHomePairingEvent),
SmartHomeStartPairing(SmartHomeStartPairingEvent),
SmartHomeSwitch(SmartHomeSwitchEvent),
StorageList(StorageListEvent),
StorageStatus(StorageStatusEvent),
StorageRead(StorageReadEvent),
StreamingScreen(StreamingScreenEvent),
StreamingStatus(Box<StreamingStatusEvent>),
SystemVersion(SystemVersionEvent),
SystemTransport(SystemTransportEvent),
SystemStatus(Box<SystemStatusEvent>),
SystemStatusDevice(SystemStatusDeviceEvent),
SystemStatusFirmware(SystemStatusFirmwareEvent),
SystemStatusSystem(SystemStatusSystemEvent),
SystemStatusPower(SystemStatusPowerEvent),
SystemLogDump(SystemLogDumpEvent),
TimeNow(TimeNowEvent),
TimeTimezone(TimeTimezoneEvent),
TimeTzlist(TimeTzlistEvent),
UpdaterStatus(Box<UpdaterStatusEvent>),
UpdaterChangelog(UpdaterChangelogEvent),
UpdaterAutoupdate(UpdaterAutoupdateEvent),
WifiStatus(WifiStatusEvent),
}
impl fmt::Display for CliEvent {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
CliEvent::Ok(event) => event.fmt(f),
CliEvent::Unsupported(event) => event.fmt(f),
CliEvent::AccountInfo(event) => event.fmt(f),
CliEvent::AccountStatus(event) => event.fmt(f),
CliEvent::AccountBackend(event) => event.fmt(f),
CliEvent::BleStatus(event) => event.fmt(f),
CliEvent::BusySnapshot(event) => event.fmt(f),
CliEvent::BusyProfile(event) => event.fmt(f),
CliEvent::SettingsAccess(event) => event.fmt(f),
CliEvent::SettingsName(event) => event.fmt(f),
CliEvent::SettingsVolume(event) => event.fmt(f),
CliEvent::SettingsBrightness(event) => event.fmt(f),
CliEvent::SmartHomePairing(event) => event.fmt(f),
CliEvent::SmartHomeStartPairing(event) => event.fmt(f),
CliEvent::SmartHomeSwitch(event) => event.fmt(f),
CliEvent::StorageList(event) => event.fmt(f),
CliEvent::StorageStatus(event) => event.fmt(f),
CliEvent::StorageRead(event) => event.fmt(f),
CliEvent::StreamingScreen(event) => event.fmt(f),
CliEvent::StreamingStatus(event) => event.fmt(f),
CliEvent::SystemVersion(event) => event.fmt(f),
CliEvent::SystemTransport(event) => event.fmt(f),
CliEvent::SystemStatus(event) => event.fmt(f),
CliEvent::SystemStatusDevice(event) => event.fmt(f),
CliEvent::SystemStatusFirmware(event) => event.fmt(f),
CliEvent::SystemStatusSystem(event) => event.fmt(f),
CliEvent::SystemStatusPower(event) => event.fmt(f),
CliEvent::SystemLogDump(event) => event.fmt(f),
CliEvent::TimeNow(event) => event.fmt(f),
CliEvent::TimeTimezone(event) => event.fmt(f),
CliEvent::TimeTzlist(event) => event.fmt(f),
CliEvent::UpdaterStatus(event) => event.fmt(f),
CliEvent::UpdaterChangelog(event) => event.fmt(f),
CliEvent::UpdaterAutoupdate(event) => event.fmt(f),
CliEvent::WifiStatus(event) => event.fmt(f),
}
}
}