pub struct InstalledAppInfo {Show 14 fields
pub app_id: String,
pub name: String,
pub publisher_fingerprint: String,
pub publisher_name: String,
pub is_foundation_signed: bool,
pub launch_error: Option<LaunchError>,
pub can_remove: bool,
pub is_flux: bool,
pub version: String,
pub size_bytes: u64,
pub app_hash: [u8; 32],
pub description: String,
pub basic_permissions: Vec<InstalledAppPermissionGroup>,
pub approvable_permissions: Vec<InstalledAppPermissionGroup>,
}Fields§
§app_id: String§name: String§publisher_fingerprint: StringShort fingerprint of the third-party publisher that signed the app, whether or not its certificate currently allows a launch; empty for built-in apps and for a signer no stored certificate matches.
publisher_name: StringPublisher display name: the certificate name the user confirmed at import for a certified third-party app, the manifest’s publisher for a Foundation-signed app, empty otherwise.
is_foundation_signed: boolWhether the bundle carries a Foundation signature header; the signature itself is only verified at launch.
launch_error: Option<LaunchError>Why launching the app would fail right now, or None while it would succeed. The signature
is only checked by an actual launch, so a launch can still fail with an error this never
reports.
can_remove: bool§is_flux: boolWhether this is a Flux child app: it runs inside the Flux emulator, so direct-launch affordances (e.g. an Open App button) don’t apply to it.
version: String§size_bytes: u64§app_hash: [u8; 32]Sha256 of app.elf without its cosign2 header.
description: String§basic_permissions: Vec<InstalledAppPermissionGroup>Auto-granted permissions (shown but not user-toggleable).
approvable_permissions: Vec<InstalledAppPermissionGroup>Permissions the user can allow or deny.
Trait Implementations§
Source§impl Archive for InstalledAppInfowhere
String: Archive,
bool: Archive,
Option<LaunchError>: Archive,
u64: Archive,
[u8; 32]: Archive,
Vec<InstalledAppPermissionGroup>: Archive,
impl Archive for InstalledAppInfowhere
String: Archive,
bool: Archive,
Option<LaunchError>: Archive,
u64: Archive,
[u8; 32]: Archive,
Vec<InstalledAppPermissionGroup>: Archive,
Source§const COPY_OPTIMIZATION: CopyOptimization<Self>
const COPY_OPTIMIZATION: CopyOptimization<Self>
serialize. Read moreSource§type Archived = ArchivedInstalledAppInfo
type Archived = ArchivedInstalledAppInfo
Source§type Resolver = InstalledAppInfoResolver
type Resolver = InstalledAppInfoResolver
Source§impl Clone for InstalledAppInfo
impl Clone for InstalledAppInfo
Source§fn clone(&self) -> InstalledAppInfo
fn clone(&self) -> InstalledAppInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstalledAppInfo
impl Debug for InstalledAppInfo
Source§impl<__D: Fallible + ?Sized> Deserialize<InstalledAppInfo, __D> for Archived<InstalledAppInfo>where
String: Archive,
<String as Archive>::Archived: Deserialize<String, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
Option<LaunchError>: Archive,
<Option<LaunchError> as Archive>::Archived: Deserialize<Option<LaunchError>, __D>,
u64: Archive,
<u64 as Archive>::Archived: Deserialize<u64, __D>,
[u8; 32]: Archive,
<[u8; 32] as Archive>::Archived: Deserialize<[u8; 32], __D>,
Vec<InstalledAppPermissionGroup>: Archive,
<Vec<InstalledAppPermissionGroup> as Archive>::Archived: Deserialize<Vec<InstalledAppPermissionGroup>, __D>,
impl<__D: Fallible + ?Sized> Deserialize<InstalledAppInfo, __D> for Archived<InstalledAppInfo>where
String: Archive,
<String as Archive>::Archived: Deserialize<String, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
Option<LaunchError>: Archive,
<Option<LaunchError> as Archive>::Archived: Deserialize<Option<LaunchError>, __D>,
u64: Archive,
<u64 as Archive>::Archived: Deserialize<u64, __D>,
[u8; 32]: Archive,
<[u8; 32] as Archive>::Archived: Deserialize<[u8; 32], __D>,
Vec<InstalledAppPermissionGroup>: Archive,
<Vec<InstalledAppPermissionGroup> as Archive>::Archived: Deserialize<Vec<InstalledAppPermissionGroup>, __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<InstalledAppInfo, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<InstalledAppInfo, <__D as Fallible>::Error>
Source§impl<__S: Fallible + ?Sized> Serialize<__S> for InstalledAppInfowhere
String: Serialize<__S>,
bool: Serialize<__S>,
Option<LaunchError>: Serialize<__S>,
u64: Serialize<__S>,
[u8; 32]: Serialize<__S>,
Vec<InstalledAppPermissionGroup>: Serialize<__S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for InstalledAppInfowhere
String: Serialize<__S>,
bool: Serialize<__S>,
Option<LaunchError>: Serialize<__S>,
u64: Serialize<__S>,
[u8; 32]: Serialize<__S>,
Vec<InstalledAppPermissionGroup>: Serialize<__S>,
Auto Trait Implementations§
impl Freeze for InstalledAppInfo
impl RefUnwindSafe for InstalledAppInfo
impl Send for InstalledAppInfo
impl Sync for InstalledAppInfo
impl Unpin for InstalledAppInfo
impl UnsafeUnpin for InstalledAppInfo
impl UnwindSafe for InstalledAppInfo
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