package kernel; import cc.OS; import kernel.net.Package.NetworkID; import lib.KVStore; import cc.Settings; class KernelSettings { private static inline function setAllowStartup(value:Bool) { Settings.set("shell.allow_startup", value); } private static inline function setAllowStartupFromFloppy(value:Bool) { Settings.set("shell.allow_disk_startup", value); } private static function set(name:String, value:Dynamic) { var kvstore = new KVStore("kernel"); kvstore.set(name, value); kvstore.save(); } private static function get(name:String):Null { var kvstore = new KVStore("kernel"); return kvstore.get(name); } public static var hostname(get, set):String; private static var _hostname:String = get("hostname"); private static inline function get_hostname():String { return _hostname; } private static inline function set_hostname(value:String):String { OS.setComputerLabel(value); set("hostname", value); _hostname = value; return value; } public static var nameServer(get, set):NetworkID; private static var _nameServer:NetworkID = get("nameServer"); private static function get_nameServer():NetworkID { return _nameServer; } private static function set_nameServer(value:NetworkID):NetworkID { if (value == null) { return get_nameServer(); } set("nameServer", value); _nameServer = value; return value; } }