package bin.exporter; import lib.exporter.Export; import lib.exporter.IExportable; import kernel.peripherals.Peripherals.Peripheral; import kernel.service.ServiceManager; import lib.exporter.Import; import lib.CLIAppBase; class Res extends CLIAppBase { public function new() { registerAsyncSubcommand("get", (args) -> { var url = args[0]; return Import.get(url).map((res) -> { switch (res) { case Success(data): handle.writeLine(Std.string(data)); case Failure(err): handle.writeLine("Error: "); handle.writeLine(Std.string(err)); } return true; }); }, ""); registerAsyncSubcommand("register", (args) -> { var srv:Null = ServiceManager.get("resmgr"); var addr = args[0]; var name = args[1]; if (srv == null) { handle.writeLine("Error: resmgr not found"); return false; } var perf:kernel.peripherals.Redstone = Peripheral.getRedstone(addr); if (perf == null) { handle.writeLine("Error: peripheral not found"); return false; } return srv.register(name, new Export(perf)).map((res) -> { switch (res) { case Success(_): handle.writeLine("Success"); return true; case Failure(err): handle.writeLine("Error: "); handle.writeLine(Std.string(err)); return false; } }); }, " "); } }