dinghy-lib 0.8.4

Cross-compilation made easier - see main crate cargo-dinghy
Documentation
use crate::{Configuration, Device, Platform, PlatformConfiguration, PlatformManager, Result};

mod platform;

pub use self::platform::HostPlatform;

pub struct HostManager {
    host_conf: PlatformConfiguration,
}

impl HostManager {
    pub fn probe(conf: &Configuration) -> Option<HostManager> {
        let host_conf = conf
            .platforms
            .get("host")
            .map(|it| (*it).clone())
            .unwrap_or(PlatformConfiguration::empty());
        Some(HostManager { host_conf })
    }

    fn platform(&self) -> Result<HostPlatform> {
        platform::HostPlatform::new(self.host_conf.clone())
    }
}

impl PlatformManager for HostManager {
    fn devices(&self) -> Result<Vec<Box<dyn Device>>> {
        Ok(vec![])
    }

    fn platforms(&self) -> Result<Vec<Box<dyn Platform>>> {
        Ok(vec![Box::new(self.platform()?)])
    }
}