keybase-protocol 0.1.1

Provides the Keybase types defined in the Keybase AVDL Protocol files for Rust.
Documentation
// Namespace: "keybase.1"
// Protocol: "install"
#![allow(dead_code)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::{Serialize, Deserialize};
use serde_repr::{Deserialize_repr, Serialize_repr};use super::*;

use super::common::*;
// @go("nostring")
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum InstallStatus {
  Unknown_0,
  Error_1,
  Not_installed_2,
  Installed_4,
}

// @go("nostring")
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum InstallAction {
  Unknown_0,
  None_1, // Nothing to do
  Upgrade_2, // Upgrade from earlier version
  Reinstall_3, // Something bad happened and need re-install
  Install_4, // Installing (not installed)
}

pub struct ServiceStatus {
  pub version: Option<String>,
  pub label: Option<String>,
  pub pid: Option<String>,
  pub lastExitStatus: Option<String>,
  pub bundleVersion: Option<String>,
  pub installStatus: InstallStatus,
  pub installAction: InstallAction,
  pub status: Status,
}

pub struct ServicesStatus {
  pub service: Option<Vec<ServiceStatus>>,
  pub kbfs: Option<Vec<ServiceStatus>>,
  pub updater: Option<Vec<ServiceStatus>>,
}

pub struct FuseMountInfo {
  pub path: Option<String>,
  pub fstype: Option<String>,
  pub output: Option<String>,
}

pub struct FuseStatus {
  pub version: Option<String>,
  pub bundleVersion: Option<String>,
  pub kextID: Option<String>,
  pub path: Option<String>,
  pub kextStarted: bool,
  pub installStatus: InstallStatus,
  pub installAction: InstallAction,
  pub mountInfos: Option<Vec<FuseMountInfo>>,
  pub status: Status,
}

pub struct ComponentResult {
  pub name: Option<String>,
  pub status: Status,
  pub exitCode: i32,
}

pub struct InstallResult {
  pub componentResults: Option<Vec<ComponentResult>>,
  pub status: Status,
  pub fatal: bool,
}

pub struct UninstallResult {
  pub componentResults: Option<Vec<ComponentResult>>,
  pub status: Status,
}