Compare commits
3 Commits
560c85ea61
...
05a220110d
| Author | SHA1 | Date | |
|---|---|---|---|
| 05a220110d | |||
| 9b10ff1d14 | |||
| 0c9f186d8a |
23
src/bin/HelloWorldService.hx
Normal file
23
src/bin/HelloWorldService.hx
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package bin;
|
||||||
|
|
||||||
|
import kernel.log.Log;
|
||||||
|
import kernel.Timer;
|
||||||
|
import kernel.ps.ProcessHandle;
|
||||||
|
import kernel.ps.Process;
|
||||||
|
|
||||||
|
class HelloWorldService implements Process {
|
||||||
|
public function new() {}
|
||||||
|
|
||||||
|
public function run(handle:ProcessHandle) {
|
||||||
|
Log.debug("HelloWorldService started");
|
||||||
|
handle.write("Hello World! Started\n");
|
||||||
|
this.startTimer(handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function startTimer(handle: ProcessHandle) {
|
||||||
|
new Timer(1000, function() {
|
||||||
|
handle.write("Hello World!\n");
|
||||||
|
this.startTimer(handle);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -43,10 +43,24 @@ class Service extends CLIAppBase {
|
|||||||
},"Register a new service");
|
},"Register a new service");
|
||||||
|
|
||||||
registerSyncSubcommand("unregister", (args) ->{
|
registerSyncSubcommand("unregister", (args) ->{
|
||||||
return true;
|
if (args.length < 2) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var name = args[0];
|
||||||
|
|
||||||
|
var result = ServiceManager.instace.unregister(name);
|
||||||
|
return handleResult(result);
|
||||||
},"Unregister a service");
|
},"Unregister a service");
|
||||||
|
|
||||||
registerSyncSubcommand("list", (args) ->{
|
registerSyncSubcommand("list", (args) ->{
|
||||||
|
|
||||||
|
var list = ServiceManager.instace.listRunning();
|
||||||
|
|
||||||
|
for (name in list) {
|
||||||
|
this.handle.writeLine(name);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
},"List all services");
|
},"List all services");
|
||||||
}
|
}
|
||||||
|
|||||||
21
src/kernel/DCEHack.hx
Normal file
21
src/kernel/DCEHack.hx
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
package kernel;
|
||||||
|
|
||||||
|
@:keep
|
||||||
|
class DCEHack {
|
||||||
|
// Dont actually call this
|
||||||
|
public static function load() {
|
||||||
|
return [
|
||||||
|
new bin.Disk(),
|
||||||
|
new bin.GPS(),
|
||||||
|
new bin.HelloWorld(),
|
||||||
|
new bin.KernelLog(),
|
||||||
|
new bin.LSPS(),
|
||||||
|
new bin.Net(),
|
||||||
|
new bin.Redstone(),
|
||||||
|
new bin.Service(),
|
||||||
|
new bin.Terminal(),
|
||||||
|
new bin.Turtle(),
|
||||||
|
new bin.HelloWorldService(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,6 +15,8 @@ import kernel.ui.WindowManager;
|
|||||||
import kernel.peripherals.Peripherals.Peripheral;
|
import kernel.peripherals.Peripherals.Peripheral;
|
||||||
import kernel.net.Net;
|
import kernel.net.Net;
|
||||||
|
|
||||||
|
import kernel.DCEHack; // Important for DCE hack
|
||||||
|
|
||||||
class Init {
|
class Init {
|
||||||
|
|
||||||
@:allow(kernel.KernelEvents)
|
@:allow(kernel.KernelEvents)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package kernel.binstore;
|
package kernel.binstore;
|
||||||
|
|
||||||
|
import bin.HelloWorldService;
|
||||||
import bin.Service;
|
import bin.Service;
|
||||||
import bin.LSPS;
|
import bin.LSPS;
|
||||||
import bin.Turtle;
|
import bin.Turtle;
|
||||||
@@ -25,7 +26,8 @@ class BinStore {
|
|||||||
{c: Terminal, name: "Terminal", aliases: ["terminal","term"]},
|
{c: Terminal, name: "Terminal", aliases: ["terminal","term"]},
|
||||||
{c: Turtle, name: "Turtle", aliases: ["turtle"]},
|
{c: Turtle, name: "Turtle", aliases: ["turtle"]},
|
||||||
{c: LSPS, name: "PM", aliases: ["lsps"]},
|
{c: LSPS, name: "PM", aliases: ["lsps"]},
|
||||||
{c: Service, name: "Service", aliases: ["service","srv"]}
|
{c: Service, name: "Service", aliases: ["service","srv"]},
|
||||||
|
{c: HelloWorldService, name: "HelloWorldService", aliases: ["hello-service"] }
|
||||||
];
|
];
|
||||||
|
|
||||||
@:allow(kernel.Init)
|
@:allow(kernel.Init)
|
||||||
|
|||||||
Reference in New Issue
Block a user