flipper-rpc 0.9.5

Rust bindings and serial transport helpers for the Flipper Zero RPC protocol.
// This file is @generated by prost-build.

/// There are Server commands (e.g. Storage_write), which have no body message
/// in response. But 'oneof' obligate to have at least 1 encoded message
/// in scope. For this needs Empty message is implemented.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Empty {}

#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StopSession {}

#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Main {
    #[prost(uint32, tag = "1")]
    pub command_id: u32,
    #[prost(enumeration = "CommandStatus", tag = "2")]
    pub command_status: i32,
    #[prost(bool, tag = "3")]
    pub has_next: bool,
    #[prost(
        oneof = "main::Content",
        tags = "4, 19, 5, 6, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 46, 44, 45, 28, 29, 59, 60, 24, 25, 7, 8, 9, 10, 11, 12, 13, 14, 15, 30, 42, 43, 71, 16, 17, 18, 47, 48, 49, 50, 75, 63, 64, 65, 20, 21, 22, 23, 26, 27, 51, 52, 53, 54, 55, 56, 57, 72, 73, 74, 58, 61, 62, 66, 67, 68, 69, 70"
    )]
    pub content: ::core::option::Option<main::Content>,
}
/// Nested message and enum types in `Main`.
pub mod main {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Content {
        #[prost(message, tag = "4")]
        Empty(super::Empty),
        #[prost(message, tag = "19")]
        StopSession(super::StopSession),
        #[prost(message, tag = "5")]
        SystemPingRequest(super::super::system::PingRequest),
        #[prost(message, tag = "6")]
        SystemPingResponse(super::super::system::PingResponse),
        #[prost(message, tag = "31")]
        SystemRebootRequest(super::super::system::RebootRequest),
        #[prost(message, tag = "32")]
        SystemDeviceInfoRequest(super::super::system::DeviceInfoRequest),
        #[prost(message, tag = "33")]
        SystemDeviceInfoResponse(super::super::system::DeviceInfoResponse),
        #[prost(message, tag = "34")]
        SystemFactoryResetRequest(super::super::system::FactoryResetRequest),
        #[prost(message, tag = "35")]
        SystemGetDatetimeRequest(super::super::system::GetDateTimeRequest),
        #[prost(message, tag = "36")]
        SystemGetDatetimeResponse(super::super::system::GetDateTimeResponse),
        #[prost(message, tag = "37")]
        SystemSetDatetimeRequest(super::super::system::SetDateTimeRequest),
        #[prost(message, tag = "38")]
        SystemPlayAudiovisualAlertRequest(super::super::system::PlayAudiovisualAlertRequest),
        #[prost(message, tag = "39")]
        SystemProtobufVersionRequest(super::super::system::ProtobufVersionRequest),
        #[prost(message, tag = "40")]
        SystemProtobufVersionResponse(super::super::system::ProtobufVersionResponse),
        #[prost(message, tag = "41")]
        SystemUpdateRequest(super::super::system::UpdateRequest),
        #[prost(message, tag = "46")]
        SystemUpdateResponse(super::super::system::UpdateResponse),
        #[prost(message, tag = "44")]
        SystemPowerInfoRequest(super::super::system::PowerInfoRequest),
        #[prost(message, tag = "45")]
        SystemPowerInfoResponse(super::super::system::PowerInfoResponse),
        #[prost(message, tag = "28")]
        StorageInfoRequest(super::super::storage::InfoRequest),
        #[prost(message, tag = "29")]
        StorageInfoResponse(super::super::storage::InfoResponse),
        #[prost(message, tag = "59")]
        StorageTimestampRequest(super::super::storage::TimestampRequest),
        #[prost(message, tag = "60")]
        StorageTimestampResponse(super::super::storage::TimestampResponse),
        #[prost(message, tag = "24")]
        StorageStatRequest(super::super::storage::StatRequest),
        #[prost(message, tag = "25")]
        StorageStatResponse(super::super::storage::StatResponse),
        #[prost(message, tag = "7")]
        StorageListRequest(super::super::storage::ListRequest),
        #[prost(message, tag = "8")]
        StorageListResponse(super::super::storage::ListResponse),
        #[prost(message, tag = "9")]
        StorageReadRequest(super::super::storage::ReadRequest),
        #[prost(message, tag = "10")]
        StorageReadResponse(super::super::storage::ReadResponse),
        #[prost(message, tag = "11")]
        StorageWriteRequest(super::super::storage::WriteRequest),
        #[prost(message, tag = "12")]
        StorageDeleteRequest(super::super::storage::DeleteRequest),
        #[prost(message, tag = "13")]
        StorageMkdirRequest(super::super::storage::MkdirRequest),
        #[prost(message, tag = "14")]
        StorageMd5sumRequest(super::super::storage::Md5sumRequest),
        #[prost(message, tag = "15")]
        StorageMd5sumResponse(super::super::storage::Md5sumResponse),
        #[prost(message, tag = "30")]
        StorageRenameRequest(super::super::storage::RenameRequest),
        #[prost(message, tag = "42")]
        StorageBackupCreateRequest(super::super::storage::BackupCreateRequest),
        #[prost(message, tag = "43")]
        StorageBackupRestoreRequest(super::super::storage::BackupRestoreRequest),
        #[prost(message, tag = "71")]
        StorageTarExtractRequest(super::super::storage::TarExtractRequest),
        #[prost(message, tag = "16")]
        AppStartRequest(super::super::app::StartRequest),
        #[prost(message, tag = "17")]
        AppLockStatusRequest(super::super::app::LockStatusRequest),
        #[prost(message, tag = "18")]
        AppLockStatusResponse(super::super::app::LockStatusResponse),
        #[prost(message, tag = "47")]
        AppExitRequest(super::super::app::AppExitRequest),
        #[prost(message, tag = "48")]
        AppLoadFileRequest(super::super::app::AppLoadFileRequest),
        #[prost(message, tag = "49")]
        AppButtonPressRequest(super::super::app::AppButtonPressRequest),
        #[prost(message, tag = "50")]
        AppButtonReleaseRequest(super::super::app::AppButtonReleaseRequest),
        #[prost(message, tag = "75")]
        AppButtonPressReleaseRequest(super::super::app::AppButtonPressReleaseRequest),
        #[prost(message, tag = "63")]
        AppGetErrorRequest(super::super::app::GetErrorRequest),
        #[prost(message, tag = "64")]
        AppGetErrorResponse(super::super::app::GetErrorResponse),
        #[prost(message, tag = "65")]
        AppDataExchangeRequest(super::super::app::DataExchangeRequest),
        #[prost(message, tag = "20")]
        GuiStartScreenStreamRequest(super::super::gui::StartScreenStreamRequest),
        #[prost(message, tag = "21")]
        GuiStopScreenStreamRequest(super::super::gui::StopScreenStreamRequest),
        #[prost(message, tag = "22")]
        GuiScreenFrame(super::super::gui::ScreenFrame),
        #[prost(message, tag = "23")]
        GuiSendInputEventRequest(super::super::gui::SendInputEventRequest),
        #[prost(message, tag = "26")]
        GuiStartVirtualDisplayRequest(super::super::gui::StartVirtualDisplayRequest),
        #[prost(message, tag = "27")]
        GuiStopVirtualDisplayRequest(super::super::gui::StopVirtualDisplayRequest),
        #[prost(message, tag = "51")]
        GpioSetPinMode(super::super::gpio::SetPinMode),
        #[prost(message, tag = "52")]
        GpioSetInputPull(super::super::gpio::SetInputPull),
        #[prost(message, tag = "53")]
        GpioGetPinMode(super::super::gpio::GetPinMode),
        #[prost(message, tag = "54")]
        GpioGetPinModeResponse(super::super::gpio::GetPinModeResponse),
        #[prost(message, tag = "55")]
        GpioReadPin(super::super::gpio::ReadPin),
        #[prost(message, tag = "56")]
        GpioReadPinResponse(super::super::gpio::ReadPinResponse),
        #[prost(message, tag = "57")]
        GpioWritePin(super::super::gpio::WritePin),
        #[prost(message, tag = "72")]
        GpioGetOtgMode(super::super::gpio::GetOtgMode),
        #[prost(message, tag = "73")]
        GpioGetOtgModeResponse(super::super::gpio::GetOtgModeResponse),
        #[prost(message, tag = "74")]
        GpioSetOtgMode(super::super::gpio::SetOtgMode),
        #[prost(message, tag = "58")]
        AppStateResponse(super::super::app::AppStateResponse),
        #[prost(message, tag = "61")]
        PropertyGetRequest(super::super::property::GetRequest),
        #[prost(message, tag = "62")]
        PropertyGetResponse(super::super::property::GetResponse),
        #[prost(message, tag = "66")]
        DesktopIsLockedRequest(super::super::desktop::IsLockedRequest),
        #[prost(message, tag = "67")]
        DesktopUnlockRequest(super::super::desktop::UnlockRequest),
        #[prost(message, tag = "68")]
        DesktopStatusSubscribeRequest(super::super::desktop::StatusSubscribeRequest),
        #[prost(message, tag = "69")]
        DesktopStatusUnsubscribeRequest(super::super::desktop::StatusUnsubscribeRequest),
        #[prost(message, tag = "70")]
        DesktopStatus(super::super::desktop::Status),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Region {
    #[prost(bytes = "vec", tag = "1")]
    pub country_code: ::prost::alloc::vec::Vec<u8>,
    #[prost(message, repeated, tag = "2")]
    pub bands: ::prost::alloc::vec::Vec<region::Band>,
}
/// Nested message and enum types in `Region`.
pub mod region {
    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
    pub struct Band {
        #[prost(uint32, tag = "1")]
        pub start: u32,
        #[prost(uint32, tag = "2")]
        pub end: u32,
        #[prost(int32, tag = "3")]
        pub power_limit: i32,
        #[prost(uint32, tag = "4")]
        pub duty_cycle: u32,
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CommandStatus {
    Ok = 0,
    /// *< Common Errors
    ///
    /// *< Unknown error
    Error = 1,
    /// *< Command can't be decoded successfully - command_id in response may be wrong!
    ErrorDecode = 2,
    /// *< Command successfully decoded, but not implemented (deprecated or not yet implemented)
    ErrorNotImplemented = 3,
    /// *< Somebody took global lock, so not all commands are available
    ErrorBusy = 4,
    /// *< Not received has_next == 0
    ErrorContinuousCommandInterrupted = 14,
    /// *< not provided (or provided invalid) crucial parameters to perform RPC
    ErrorInvalidParameters = 15,
    /// *< Storage Errors
    ///
    /// *< FS not ready
    ErrorStorageNotReady = 5,
    /// *< File/Dir already exist
    ErrorStorageExist = 6,
    /// *< File/Dir does not exist
    ErrorStorageNotExist = 7,
    /// *< Invalid API parameter
    ErrorStorageInvalidParameter = 8,
    /// *< Access denied
    ErrorStorageDenied = 9,
    /// *< Invalid name/path
    ErrorStorageInvalidName = 10,
    /// *< Internal error
    ErrorStorageInternal = 11,
    /// *< Function is not implemented
    ErrorStorageNotImplemented = 12,
    /// *< File/Dir already opened
    ErrorStorageAlreadyOpen = 13,
    /// *< Directory, you're going to remove is not empty
    ErrorStorageDirNotEmpty = 18,
    /// *< Application Errors
    ///
    /// *< Can't start app - internal error
    ErrorAppCantStart = 16,
    /// *< Another app is running
    ErrorAppSystemLocked = 17,
    /// *< App is not running or doesn't support RPC commands
    ErrorAppNotRunning = 21,
    /// *< Command execution error
    ErrorAppCmdError = 22,
    /// *< Virtual Display Errors
    ///
    /// *< Virtual Display session can't be started twice
    ErrorVirtualDisplayAlreadyStarted = 19,
    /// *< Virtual Display session can't be stopped when it's not started
    ErrorVirtualDisplayNotStarted = 20,
    /// *< GPIO Errors
    ErrorGpioModeIncorrect = 58,
    ErrorGpioUnknownPinMode = 59,
}
impl CommandStatus {
    /// 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::Ok => "OK",
            Self::Error => "ERROR",
            Self::ErrorDecode => "ERROR_DECODE",
            Self::ErrorNotImplemented => "ERROR_NOT_IMPLEMENTED",
            Self::ErrorBusy => "ERROR_BUSY",
            Self::ErrorContinuousCommandInterrupted => "ERROR_CONTINUOUS_COMMAND_INTERRUPTED",
            Self::ErrorInvalidParameters => "ERROR_INVALID_PARAMETERS",
            Self::ErrorStorageNotReady => "ERROR_STORAGE_NOT_READY",
            Self::ErrorStorageExist => "ERROR_STORAGE_EXIST",
            Self::ErrorStorageNotExist => "ERROR_STORAGE_NOT_EXIST",
            Self::ErrorStorageInvalidParameter => "ERROR_STORAGE_INVALID_PARAMETER",
            Self::ErrorStorageDenied => "ERROR_STORAGE_DENIED",
            Self::ErrorStorageInvalidName => "ERROR_STORAGE_INVALID_NAME",
            Self::ErrorStorageInternal => "ERROR_STORAGE_INTERNAL",
            Self::ErrorStorageNotImplemented => "ERROR_STORAGE_NOT_IMPLEMENTED",
            Self::ErrorStorageAlreadyOpen => "ERROR_STORAGE_ALREADY_OPEN",
            Self::ErrorStorageDirNotEmpty => "ERROR_STORAGE_DIR_NOT_EMPTY",
            Self::ErrorAppCantStart => "ERROR_APP_CANT_START",
            Self::ErrorAppSystemLocked => "ERROR_APP_SYSTEM_LOCKED",
            Self::ErrorAppNotRunning => "ERROR_APP_NOT_RUNNING",
            Self::ErrorAppCmdError => "ERROR_APP_CMD_ERROR",
            Self::ErrorVirtualDisplayAlreadyStarted => "ERROR_VIRTUAL_DISPLAY_ALREADY_STARTED",
            Self::ErrorVirtualDisplayNotStarted => "ERROR_VIRTUAL_DISPLAY_NOT_STARTED",
            Self::ErrorGpioModeIncorrect => "ERROR_GPIO_MODE_INCORRECT",
            Self::ErrorGpioUnknownPinMode => "ERROR_GPIO_UNKNOWN_PIN_MODE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OK" => Some(Self::Ok),
            "ERROR" => Some(Self::Error),
            "ERROR_DECODE" => Some(Self::ErrorDecode),
            "ERROR_NOT_IMPLEMENTED" => Some(Self::ErrorNotImplemented),
            "ERROR_BUSY" => Some(Self::ErrorBusy),
            "ERROR_CONTINUOUS_COMMAND_INTERRUPTED" => Some(Self::ErrorContinuousCommandInterrupted),
            "ERROR_INVALID_PARAMETERS" => Some(Self::ErrorInvalidParameters),
            "ERROR_STORAGE_NOT_READY" => Some(Self::ErrorStorageNotReady),
            "ERROR_STORAGE_EXIST" => Some(Self::ErrorStorageExist),
            "ERROR_STORAGE_NOT_EXIST" => Some(Self::ErrorStorageNotExist),
            "ERROR_STORAGE_INVALID_PARAMETER" => Some(Self::ErrorStorageInvalidParameter),
            "ERROR_STORAGE_DENIED" => Some(Self::ErrorStorageDenied),
            "ERROR_STORAGE_INVALID_NAME" => Some(Self::ErrorStorageInvalidName),
            "ERROR_STORAGE_INTERNAL" => Some(Self::ErrorStorageInternal),
            "ERROR_STORAGE_NOT_IMPLEMENTED" => Some(Self::ErrorStorageNotImplemented),
            "ERROR_STORAGE_ALREADY_OPEN" => Some(Self::ErrorStorageAlreadyOpen),
            "ERROR_STORAGE_DIR_NOT_EMPTY" => Some(Self::ErrorStorageDirNotEmpty),
            "ERROR_APP_CANT_START" => Some(Self::ErrorAppCantStart),
            "ERROR_APP_SYSTEM_LOCKED" => Some(Self::ErrorAppSystemLocked),
            "ERROR_APP_NOT_RUNNING" => Some(Self::ErrorAppNotRunning),
            "ERROR_APP_CMD_ERROR" => Some(Self::ErrorAppCmdError),
            "ERROR_VIRTUAL_DISPLAY_ALREADY_STARTED" => {
                Some(Self::ErrorVirtualDisplayAlreadyStarted)
            }
            "ERROR_VIRTUAL_DISPLAY_NOT_STARTED" => Some(Self::ErrorVirtualDisplayNotStarted),
            "ERROR_GPIO_MODE_INCORRECT" => Some(Self::ErrorGpioModeIncorrect),
            "ERROR_GPIO_UNKNOWN_PIN_MODE" => Some(Self::ErrorGpioUnknownPinMode),
            _ => None,
        }
    }
}