1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use deku::prelude::*;

use crate::app::interface;

#[derive(DekuRead, DekuWrite, Debug, Clone, PartialEq)]
pub struct InterfaceConfiguration {
    interface_type: interface::InterfaceType,

    #[deku(ctx = "*interface_type")]
    pub configuration: interface::InterfaceConfiguration,
}

impl InterfaceConfiguration {
    pub fn new(configuration: interface::InterfaceConfiguration) -> Self {
        Self {
            interface_type: configuration.deku_id().unwrap(),
            configuration,
        }
    }
}