pub enum InstallError {
NotAnApp,
InvalidSignature,
FluxEmulatorMissing,
BuiltInApp,
PublisherMismatch,
AppRunning,
Fs(Error),
Internal,
}Expand description
Why an install did not happen. Every variant is a state the archive or the device is in, so the caller can say something specific without the server sending it a string.
Variants§
NotAnApp
The file is not a readable app archive, or breaks the archive format’s rules.
InvalidSignature
The archive’s manifest carries no valid publisher signature.
FluxEmulatorMissing
A Flux app, which only the Flux emulator can run, and the emulator is not installed.
BuiltInApp
The archive claims the app id of an app that ships with the firmware, which no installed app may replace.
PublisherMismatch
An app with this id is installed, but from another publisher, so this archive would be a different app taking over its permission grants and stored data rather than an update.
AppRunning
The app is already installed and running, so its bundle cannot be replaced.
Fs(Error)
The filesystem refused an operation the install needed.
Internal
Anything else; the server logs what actually happened.
Trait Implementations§
Source§impl Archive for InstallErrorwhere
Error: Archive,
impl Archive for InstallErrorwhere
Error: Archive,
Source§type Archived = ArchivedInstallError
type Archived = ArchivedInstallError
Source§type Resolver = InstallErrorResolver
type Resolver = InstallErrorResolver
Source§fn resolve(
&self,
resolver: <Self as Archive>::Resolver,
out: Place<<Self as Archive>::Archived>,
)
fn resolve( &self, resolver: <Self as Archive>::Resolver, out: Place<<Self as Archive>::Archived>, )
§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
serialize. Read moreSource§impl Clone for InstallError
impl Clone for InstallError
Source§fn clone(&self) -> InstallError
fn clone(&self) -> InstallError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstallError
impl Debug for InstallError
Source§impl<__D: Fallible + ?Sized> Deserialize<InstallError, __D> for Archived<InstallError>
impl<__D: Fallible + ?Sized> Deserialize<InstallError, __D> for Archived<InstallError>
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<InstallError, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<InstallError, <__D as Fallible>::Error>
Source§impl<__S: Fallible + ?Sized> Serialize<__S> for InstallErrorwhere
Error: Serialize<__S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for InstallErrorwhere
Error: Serialize<__S>,
Auto Trait Implementations§
impl Freeze for InstallError
impl RefUnwindSafe for InstallError
impl Send for InstallError
impl Sync for InstallError
impl Unpin for InstallError
impl UnsafeUnpin for InstallError
impl UnwindSafe for InstallError
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive, it may be
unsized. Read more