From b33c45cab2bdf2044a853540d22103e6ed51d5a9 Mon Sep 17 00:00:00 2001 From: Daniel Maslowski Date: Sat, 28 Oct 2023 18:35:40 +0200 Subject: [PATCH] add serde support --- Cargo.toml | 4 ++++ src/lib.rs | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a3d4b23..844ecde 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,3 +9,7 @@ documentation = "https://mbr.github.io/device_tree-rs/device_tree/" [features] string-dedup = [] # Requires std + +[dependencies] +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } diff --git a/src/lib.rs b/src/lib.rs index 2511800..9e58614 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,6 +35,7 @@ extern crate core; pub mod util; use core::str; +use serde::{Deserialize, Serialize}; use util::{align, SliceRead, SliceReadError, VecWrite, VecWriteError}; const MAGIC_NUMBER: u32 = 0xd00dfeed; @@ -74,7 +75,7 @@ pub enum DeviceTreeError { } /// Device tree structure. -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct DeviceTree { /// Version, as indicated by version header pub version: u32, @@ -91,7 +92,7 @@ pub struct DeviceTree { } /// A single node in the device tree. -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct Node { /// The name of the node, as it appears in the node path. pub name: String,