seednaut 0.1.1

A command-line utility for inspecting, verifying, and extracting Seedvault Android backups
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Snapshot {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint64, tag = "2")]
    pub token: u64,
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub user: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub android_id: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub sdk_int: u32,
    #[prost(string, tag = "7")]
    pub android_incremental: ::prost::alloc::string::String,
    #[prost(bool, tag = "8")]
    pub d2d: bool,
    #[prost(map = "string, message", tag = "9")]
    pub apps: ::std::collections::HashMap<::prost::alloc::string::String, snapshot::App>,
    #[prost(bytes = "vec", repeated, tag = "10")]
    pub icon_chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
    #[prost(map = "string, message", tag = "11")]
    pub blobs: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        snapshot::Blob,
    >,
}
/// Nested message and enum types in `Snapshot`.
pub mod snapshot {
    #[derive(Clone, PartialEq, ::prost::Message)]
    pub struct App {
        #[prost(uint64, tag = "1")]
        pub time: u64,
        #[prost(enumeration = "BackupType", tag = "2")]
        pub r#type: i32,
        #[prost(string, tag = "3")]
        pub name: ::prost::alloc::string::String,
        #[prost(bool, tag = "4")]
        pub system: bool,
        #[prost(bool, tag = "5")]
        pub launchable_system_app: bool,
        #[prost(bytes = "vec", repeated, tag = "6")]
        pub chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
        #[prost(message, optional, tag = "7")]
        pub apk: ::core::option::Option<Apk>,
        #[prost(uint64, tag = "8")]
        pub size: u64,
    }
    #[derive(Clone, PartialEq, ::prost::Message)]
    pub struct Apk {
        #[prost(uint64, tag = "1")]
        pub version_code: u64,
        #[prost(string, tag = "2")]
        pub installer: ::prost::alloc::string::String,
        #[prost(bytes = "vec", repeated, tag = "3")]
        pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
        #[prost(message, repeated, tag = "4")]
        pub splits: ::prost::alloc::vec::Vec<Split>,
    }
    #[derive(Clone, PartialEq, ::prost::Message)]
    pub struct Split {
        #[prost(string, tag = "1")]
        pub name: ::prost::alloc::string::String,
        #[prost(bytes = "vec", repeated, tag = "2")]
        pub chunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
    }
    #[derive(Clone, PartialEq, ::prost::Message)]
    pub struct Blob {
        #[prost(bytes = "vec", tag = "1")]
        pub id: ::prost::alloc::vec::Vec<u8>,
        #[prost(uint32, tag = "2")]
        pub length: u32,
        #[prost(uint32, tag = "3")]
        pub uncompressed_length: u32,
    }
    #[derive(
        Clone,
        Copy,
        Debug,
        PartialEq,
        Eq,
        Hash,
        PartialOrd,
        Ord,
        ::prost::Enumeration
    )]
    #[repr(i32)]
    pub enum BackupType {
        Full = 0,
        Kv = 1,
    }
    impl BackupType {
        /// String value of the enum field names used in the ProtoBuf definition.
        ///
        /// The values are not transformed in any way and thus are considered stable
        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
        pub fn as_str_name(&self) -> &'static str {
            match self {
                Self::Full => "FULL",
                Self::Kv => "KV",
            }
        }
        /// Creates an enum from field names used in the ProtoBuf definition.
        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
            match value {
                "FULL" => Some(Self::Full),
                "KV" => Some(Self::Kv),
                _ => None,
            }
        }
    }
}