Files
unshell/unshell-module-load/src/main.rs
T

52 lines
944 B
Rust
Raw Normal View History

2025-11-06 00:01:46 -07:00
// #![no]
2025-11-05 22:59:01 -07:00
#[macro_use]
extern crate log;
2025-11-05 15:17:31 -07:00
2025-11-06 00:01:46 -07:00
mod manager;
use std::sync::{Arc, Mutex};
use unshell_modules::{Module, ModuleError, module_interface};
use crate::manager::Manager;
2025-11-05 15:17:31 -07:00
module_interface! {
Interface {
fn test1();
fn test2();
fn test3();
}
}
2025-11-06 00:01:46 -07:00
// const modules: Arc<Mutex<Vec<Module>>> = Arc::new(Mutex::new(Vec::new()));
2025-11-05 15:17:31 -07:00
2025-11-05 22:59:01 -07:00
fn main() {
pretty_env_logger::init();
2025-11-05 15:17:31 -07:00
2025-11-05 22:59:01 -07:00
info!("Initalized");
2025-11-05 15:17:31 -07:00
2025-11-05 22:59:01 -07:00
match || -> Result<(), ModuleError> {
2025-11-06 00:01:46 -07:00
let args = std::env::args();
let mut modules = Vec::new();
for arg in args.skip(1) {
modules.push(Module::new(&arg)?)
}
let _manager = Manager::new(modules);
// for i in 1..args.len() {}
2025-11-05 15:17:31 -07:00
2025-11-06 00:01:46 -07:00
// let interface = module.get_interface::<Interface>()?;
2025-11-05 15:17:31 -07:00
2025-11-06 00:01:46 -07:00
// interface.test1();
2025-11-05 22:59:01 -07:00
Ok(())
}() {
Ok(_) => {}
Err(e) => {
error!("ERROR! {:?}", e);
}
2025-11-05 15:17:31 -07:00
}
}