Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3232292 authored by Marybeth Fair's avatar Marybeth Fair Committed by Gerrit Code Review
Browse files

Merge "Add ability to manually write to binary files." into main

parents 5d7cbb65 45b0438c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ rust_defaults {
        "libclap",
        "libcxx",
        "libaconfig_storage_protos",
        "libserde",
    ],
}

@@ -36,7 +37,10 @@ rust_binary_host {
    name: "aconfig-storage",
    defaults: ["aconfig_storage_file.defaults"],
    srcs: ["src/main.rs"],
    rustlibs: ["libaconfig_storage_file"],
    rustlibs: [
        "libaconfig_storage_file",
        "libserde_json",
    ],
}

rust_test_host {
+2 −0
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@ tempfile = "3.9.0"
thiserror = "1.0.56"
clap = { version = "4.1.8", features = ["derive"] }
cxx = "1.0"
serde = { version = "1.0.152", features = ["derive"] }
serde_json = "1.0.93"

[[bin]]
name = "aconfig-storage"
+5 −4
Original line number Diff line number Diff line
@@ -20,10 +20,11 @@
use crate::{read_str_from_bytes, read_u32_from_bytes, read_u8_from_bytes};
use crate::{AconfigStorageError, StorageFileType};
use anyhow::anyhow;
use serde::{Deserialize, Serialize};
use std::fmt;

/// Flag info header struct
#[derive(PartialEq)]
#[derive(PartialEq, Serialize, Deserialize)]
pub struct FlagInfoHeader {
    pub version: u32,
    pub container: String,
@@ -89,7 +90,7 @@ impl FlagInfoHeader {
}

/// bit field for flag info
#[derive(Clone, Debug, PartialEq, Eq)]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum FlagInfoBit {
    HasServerOverride = 1 << 0,
    IsReadWrite = 1 << 1,
@@ -97,7 +98,7 @@ pub enum FlagInfoBit {
}

/// Flag info node struct
#[derive(PartialEq, Clone)]
#[derive(PartialEq, Clone, Serialize, Deserialize)]
pub struct FlagInfoNode {
    pub attributes: u8,
}
@@ -138,7 +139,7 @@ impl FlagInfoNode {
}

/// Flag info list struct
#[derive(PartialEq)]
#[derive(PartialEq, Serialize, Deserialize)]
pub struct FlagInfoList {
    pub header: FlagInfoHeader,
    pub nodes: Vec<FlagInfoNode>,
+4 −3
Original line number Diff line number Diff line
@@ -23,10 +23,11 @@ use crate::{
};
use crate::{AconfigStorageError, StorageFileType, StoredFlagType};
use anyhow::anyhow;
use serde::{Deserialize, Serialize};
use std::fmt;

/// Flag table header struct
#[derive(PartialEq)]
#[derive(PartialEq, Serialize, Deserialize)]
pub struct FlagTableHeader {
    pub version: u32,
    pub container: String,
@@ -95,7 +96,7 @@ impl FlagTableHeader {
}

/// Flag table node struct
#[derive(PartialEq, Clone)]
#[derive(PartialEq, Clone, Serialize, Deserialize)]
pub struct FlagTableNode {
    pub package_id: u32,
    pub flag_name: String,
@@ -154,7 +155,7 @@ impl FlagTableNode {
    }
}

#[derive(PartialEq)]
#[derive(PartialEq, Serialize, Deserialize)]
pub struct FlagTable {
    pub header: FlagTableHeader,
    pub buckets: Vec<Option<u32>>,
+3 −2
Original line number Diff line number Diff line
@@ -20,10 +20,11 @@
use crate::{read_str_from_bytes, read_u32_from_bytes, read_u8_from_bytes};
use crate::{AconfigStorageError, StorageFileType};
use anyhow::anyhow;
use serde::{Deserialize, Serialize};
use std::fmt;

/// Flag value header struct
#[derive(PartialEq)]
#[derive(PartialEq, Serialize, Deserialize)]
pub struct FlagValueHeader {
    pub version: u32,
    pub container: String,
@@ -89,7 +90,7 @@ impl FlagValueHeader {
}

/// Flag value list struct
#[derive(PartialEq)]
#[derive(PartialEq, Serialize, Deserialize)]
pub struct FlagValueList {
    pub header: FlagValueHeader,
    pub booleans: Vec<bool>,
Loading