pub enum Message {
Show 19 variants
SelectImageClicked,
RefreshDrivesClicked,
UsbHotplugDetected,
TargetDriveClicked(DriveInfo),
OpenDeviceSelection,
CloseDeviceSelection,
FlashClicked,
EscalateAndFlash,
ResetClicked,
CancelClicked,
CancelFlash,
AnimationTick,
ImageSelected(Option<PathBuf>),
DrivesRefreshed(Vec<DriveInfo>),
FlashProgressUpdate(f32, u64, f32),
VerifyProgressUpdate(f32, &'static str, u64, u64, f32),
Status(String),
FlashCompleted(Result<(), String>),
ThemeChanged(Theme),
}Expand description
All possible messages in the application
Messages represent events that can occur, either from user interactions or as results of asynchronous operations (Commands).
Variants§
SelectImageClicked
User clicked the “Select Image” button
RefreshDrivesClicked
User clicked the “Refresh Drives” button
UsbHotplugDetected
A USB device was connected or disconnected — triggers re-enumeration.
Emitted by the hotplug subscription in crate::core::state and
handled by immediately re-running drive detection, exactly as if the
user had pressed Refresh.
TargetDriveClicked(DriveInfo)
User clicked on a specific target drive
OpenDeviceSelection
User clicked to open the device selection view
CloseDeviceSelection
User clicked to close the device selection view
FlashClicked
User clicked the “Flash” button
EscalateAndFlash
User clicked Flash but the process is not privileged — attempt to re-exec via pkexec / sudo so the user gets a password prompt, then restart the app with the same selections intact.
ResetClicked
User clicked the “Reset” button (start over)
CancelClicked
User clicked the “Cancel” button
CancelFlash
User clicked “Cancel” during flash operation
AnimationTick
Animation tick for progress bar effects
ImageSelected(Option<PathBuf>)
Result from async image file selection
Contains Some(path) if user selected a file, None if cancelled
DrivesRefreshed(Vec<DriveInfo>)
Result from async drive detection
Contains a list of detected drives
FlashProgressUpdate(f32, u64, f32)
Progress update from flash subscription
Contains (progress 0.0-1.0, bytes_written, speed_mb_per_sec)
VerifyProgressUpdate(f32, &'static str, u64, u64, f32)
Verification read-back progress update.
Contains (overall 0.0–1.0 across both passes, phase, bytes_read, total_bytes, speed_mb_s)
Status(String)
Status message from flash operation
FlashCompleted(Result<(), String>)
Result from async flash operation
Contains Ok(()) on success or Err(message) on failure
ThemeChanged(Theme)
User changed the application theme
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more