dpdu-wrapper 0.1.3

High-level Rust wrapper for D-PDU implementations.
use crate::types::{PduModuleHandle, PduObjectId};
use dpdu_api_types::PduStatus;
use std::collections::HashMap;

pub type PduModuleList = Vec<PduModuleData>;

pub type PduModulesResourcesIds = HashMap<PduModuleHandle, Vec<PduObjectId>>;

pub type PduConflictingModules = HashMap<PduModuleHandle, PduObjectId>;

#[derive(Debug, Clone)]
pub struct PduModuleData {
    pub(crate) h_mod: PduModuleHandle,

    pub(crate) module_type_id: u32,

    pub(crate) vendor_module_name: Option<String>,

    pub(crate) vendor_additional_info: Option<String>,

    pub(crate) status: PduStatus,
}

impl PduModuleData {
    pub fn get_module_handle(&self) -> PduModuleHandle {
        self.h_mod
    }

    pub fn get_module_type_id(&self) -> u32 {
        self.module_type_id
    }

    pub fn get_vendor_module_name(&self) -> Option<&String> {
        self.vendor_module_name.as_ref()
    }

    pub fn get_vendor_additional_info(&self) -> Option<&String> {
        self.vendor_additional_info.as_ref()
    }

    pub fn get_status(&self) -> &PduStatus {
        &self.status
    }
}