#![allow(dead_code, unused_imports)]
use crossbeam::channel::Sender;

mod util;
mod error; pub use error::Error;
mod config; pub use config::Config;
use system::{Subsystem, Query};
mod system;
mod platform;

pub mod hid;

pub struct Donten {
    channel:Sender<Query>,
}
impl Donten {
    pub fn init(_config:Config) -> Result<Self, Error>
    {
        // Initialize supervisor.
        let channel = system::Supervisor::start(None)?;

        // Parse config and push instructions to supervisor.

        // ... //

        Ok(Self {
            channel,
        })
    }
}
