pub enum LaunchFailureReason {
SignatureRejected,
NoCertificate,
PublisherCertificateExpired,
PublisherCertificateNotYetActive,
KeyOsVersionTooOld,
Internal,
RunningKeyOsVersionUnavailable,
}Expand description
Reason an app launch failed. Carries enough information for the SDK / UI to pick a useful follow-up (import a cert, enable developer mode, restart, …) instead of just printing a generic “launch failed” message.
Variants§
SignatureRejected
App is signed by a key not in the allowed set.
NoCertificate
No matching allowed-publisher certificate is installed, so this third-party app cannot launch.
PublisherCertificateExpired
The matching publisher certificate’s validity window has passed.
PublisherCertificateNotYetActive
The matching publisher certificate’s validity window has not started yet.
KeyOsVersionTooOld
The app requires a newer KeyOS release.
Internal
Anything else: app-manager-internal failure, IPC failure, etc.
The running KeyOS version could not be determined, so compatibility cannot be checked.
Trait Implementations§
Source§impl Archive for LaunchFailureReason
impl Archive for LaunchFailureReason
Source§type Archived = ArchivedLaunchFailureReason
type Archived = ArchivedLaunchFailureReason
The archived representation of this type. Read more
Source§type Resolver = LaunchFailureReasonResolver
type Resolver = LaunchFailureReasonResolver
The resolver for this type. It must contain all the additional
information from serializing needed to make the archived type from
the normal type.
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>, )
Creates the archived version of this value at the given position and
writes it to the given output. Read more
§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
An optimization flag that allows the bytes of this type to be copied
directly to a writer instead of calling
serialize. Read moreSource§impl Clone for LaunchFailureReason
impl Clone for LaunchFailureReason
Source§fn clone(&self) -> LaunchFailureReason
fn clone(&self) -> LaunchFailureReason
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LaunchFailureReason
impl Debug for LaunchFailureReason
Source§impl<__D: Fallible + ?Sized> Deserialize<LaunchFailureReason, __D> for Archived<LaunchFailureReason>
impl<__D: Fallible + ?Sized> Deserialize<LaunchFailureReason, __D> for Archived<LaunchFailureReason>
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<LaunchFailureReason, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<LaunchFailureReason, <__D as Fallible>::Error>
Deserializes using the given deserializer
Source§impl PartialEq for LaunchFailureReason
impl PartialEq for LaunchFailureReason
Source§impl<__S: Fallible + ?Sized> Serialize<__S> for LaunchFailureReason
impl<__S: Fallible + ?Sized> Serialize<__S> for LaunchFailureReason
impl Eq for LaunchFailureReason
impl StructuralPartialEq for LaunchFailureReason
Auto Trait Implementations§
impl Freeze for LaunchFailureReason
impl RefUnwindSafe for LaunchFailureReason
impl Send for LaunchFailureReason
impl Sync for LaunchFailureReason
impl Unpin for LaunchFailureReason
impl UnsafeUnpin for LaunchFailureReason
impl UnwindSafe for LaunchFailureReason
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§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
The archived counterpart of this type. Unlike
Archive, it may be
unsized. Read more§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
Creates the archived version of the metadata for this value.
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Fallible + Writer + ?Sized,
impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Fallible + Writer + ?Sized,
§fn serialize_unsized(
&self,
serializer: &mut S,
) -> Result<usize, <S as Fallible>::Error>
fn serialize_unsized( &self, serializer: &mut S, ) -> Result<usize, <S as Fallible>::Error>
Writes the object and returns the position of the archived type.