keybase-protocol 0.1.1

Provides the Keybase types defined in the Keybase AVDL Protocol files for Rust.
Documentation
// Namespace: "keybase.1"
// Protocol: "config"
#![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::*;
use super::notify_ctl::*;
pub struct CurrentStatus {
  pub configured: bool,
  pub registered: bool,
  pub loggedIn: bool,
  pub sessionIsValid: bool,
  pub user: Option<User>,
}



pub struct SessionStatus {
  // @lint("ignore")
  pub SessionFor: Option<String>,
  // @lint("ignore")
  pub Loaded: bool,
  // @lint("ignore")
  pub Cleared: bool,
  // @lint("ignore")
  pub SaltOnly: bool,
  // @lint("ignore")
  pub Expired: bool,
}

pub struct ClientDetails {
  pub pid: i32,
  pub clientType: ClientType,
  pub argv: Option<Vec<String>>,
  pub desc: Option<String>,
  pub version: Option<String>,
}

pub struct ClientStatus {
  pub details: ClientDetails,
  pub connectionID: i32,
  pub notificationChannels: NotificationChannels,
}

pub struct PlatformInfo {
  pub os: Option<String>,
  pub osVersion: Option<String>,
  pub arch: Option<String>,
  pub goVersion: Option<String>,
}

pub struct LoadDeviceErr {
  pub where_: Option<String>,
  pub desc: Option<String>,
}

pub struct DirSizeInfo {
  pub numFiles: i32,
  pub name: Option<String>,
  pub humanSize: Option<String>,
}

pub struct ExtendedStatus {
  pub standalone: bool,
  pub passphraseStreamCached: bool,
  pub tsecCached: bool,
  pub deviceSigKeyCached: bool,
  pub deviceEncKeyCached: bool,
  pub paperSigKeyCached: bool,
  pub paperEncKeyCached: bool,
  pub storedSecret: bool,
  pub secretPromptSkip: bool,
  pub rememberPassphrase: bool,
  pub device: Option<Device>,
  pub deviceErr: Option<LoadDeviceErr>,
  pub logDir: Option<String>,
  pub session: Option<SessionStatus>,
  pub defaultUsername: Option<String>,
  pub provisionedUsernames: Option<Vec<String>>,
  pub configuredAccounts: Option<Vec<ConfiguredAccount>>,
  // @lint("ignore")
  pub Clients: Option<Vec<ClientStatus>>,
  pub deviceEkNames: Option<Vec<String>>,
  pub platformInfo: PlatformInfo,
  pub defaultDeviceID: DeviceID,
  pub localDbStats: Option<Vec<String>>,
  pub localChatDbStats: Option<Vec<String>>,
  pub localBlockCacheDbStats: Option<Vec<String>>,
  pub localSyncCacheDbStats: Option<Vec<String>>,
  pub cacheDirSizeInfo: Option<Vec<DirSizeInfo>>,
  pub uiRouterMapping: std::collections::HashMap<String, i32>,
}

pub struct KbClientStatus {
  pub version: Option<String>,
}

pub struct KbServiceStatus {
  pub version: Option<String>,
  pub running: bool,
  pub pid: Option<String>,
  pub log: Option<String>,
  pub ekLog: Option<String>,
}

pub struct KBFSStatus {
  pub version: Option<String>,
  pub installedVersion: Option<String>,
  pub running: bool,
  pub pid: Option<String>,
  pub log: Option<String>,
  pub mount: Option<String>,
}

pub struct DesktopStatus {
  pub version: Option<String>,
  pub running: bool,
  pub log: Option<String>,
}

pub struct UpdaterStatus {
  pub log: Option<String>,
}

pub struct StartStatus {
  pub log: Option<String>,
}

pub struct GitStatus {
  pub log: Option<String>,
}

pub struct FullStatus {
  pub username: Option<String>,
  pub configPath: Option<String>,
  pub curStatus: CurrentStatus,
  pub extStatus: ExtendedStatus,
  pub client: KbClientStatus,
  pub service: KbServiceStatus,
  pub kbfs: KBFSStatus,
  pub desktop: DesktopStatus,
  pub updater: UpdaterStatus,
  pub start: StartStatus,
  pub git: GitStatus,
}





pub type LogSendID = String;



pub struct AllProvisionedUsernames {
  pub defaultUsername: Option<String>,
  pub provisionedUsernames: Option<Vec<String>>,
  pub hasProvisionedUser: bool,
}



#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum ForkType {
  None_0,
  Auto_1,
  Watchdog_2,
  Launchd_3,
  Systemd_4,
}

pub struct Config {
  pub serverURI: Option<String>,
  pub socketFile: Option<String>,
  pub label: Option<String>,
  pub runMode: Option<String>,
  pub gpgExists: bool,
  pub gpgPath: Option<String>,
  pub version: Option<String>,
  pub path: Option<String>,
  pub binaryRealpath: Option<String>,
  pub configPath: Option<String>,
  pub versionShort: Option<String>,
  pub versionFull: Option<String>,
  pub isAutoForked: bool,
  pub forkType: ForkType,
}

pub struct ConfigValue {
  pub isNull: bool,
  pub b: Option<bool>,
  pub i: Option<i32>,
  pub s: Option<String>,
  pub o: Option<String>,
}





















pub struct OutOfDateInfo {
  pub upgradeTo: Option<String>,
  pub upgradeURI: Option<String>,
  pub customMessage: Option<String>,
  pub criticalClockSkew: i64,
}



#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UpdateInfoStatus {
  Up_to_date_0,
  Need_update_1,
  Critically_out_of_date_2,
}

pub struct UpdateInfo {
  pub status: UpdateInfoStatus,
  pub message: Option<String>,
}







pub struct BootstrapStatus {
  pub registered: bool,
  pub loggedIn: bool,
  pub uid: UID,
  pub username: Option<String>,
  pub deviceID: DeviceID,
  pub deviceName: Option<String>,
  pub fullname: FullName,
  pub userReacjis: UserReacjis,
  pub httpSrvInfo: Option<HttpSrvInfo>,
}









#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum UpdateInfoStatus2 {
  Ok_0,
  Suggested_1,
  Critical_2,
}

pub struct UpdateDetails {
  pub message: Option<String>,
}

pub enum UpdateInfo2 {
  Ok {ok: ()},
  Suggested {suggested: UpdateDetails},
  Critical {critical: UpdateDetails},
}



#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum ProxyType {
  No_proxy_0,
  Http_connect_1,
  Socks_2,
}

pub struct ProxyData {
  pub addressWithPort: Option<String>,
  pub proxyType: ProxyType,
  pub certPinning: bool,
}