summaryrefslogtreecommitdiffstats
path: root/hostname-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'hostname-model.lua')
-rw-r--r--hostname-model.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/hostname-model.lua b/hostname-model.lua
new file mode 100644
index 0000000..9638ad7
--- /dev/null
+++ b/hostname-model.lua
@@ -0,0 +1,24 @@
+-- hostname model methods
+module (..., package.seeall)
+
+-- no initializer in model - use controller.init for that
+
+
+get = function (self)
+ local f = io.popen("/bin/hostname")
+ local n = f:read("*a") or "unknown"
+ f:close()
+ return (cfe{value=n, name="hostname"})
+end
+
+
+set = function (self, name)
+ local f = io.open ("/etc/hostname", "w")
+ if f then
+ f:write(name.value)
+ f:close()
+ end
+ f = io.popen("/bin/hostname -F /etc/hostname")
+ f:close()
+ return get(self)
+end