1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use appscraps_dll_error::Result as FuncResult; use appscraps_dll_error::WrapErr; use appscraps_static::ENVIRONMENT; use serde_json; use serialization::LoadedModule; #[no_mangle] pub extern fn get_module_list() -> FuncResult<String> { let environment = try!(ENVIRONMENT.get().wrap_err_to_err()); let module_list = environment.get_module_list(); let mut result = Vec::new(); for module in module_list { let loaded_module = LoadedModule::new(module.get_index(), module.get_name().clone()); result.push(loaded_module); } let result = try!(serde_json::to_string(&result).wrap_err_to_err()); Ok(result) }