]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/gps.vala
Notes about remotising devices
[gregoa/zavai.git] / src / gps.vala
index 7ad50176ac0ae09ee0c6335697256b96197107fa..950d76b3091ae7c7b918a26e3f182ea91ee96f85 100644 (file)
@@ -24,7 +24,7 @@ namespace zavai {
 namespace gps {
 
 // For a list of dbus services, look in /etc/dbus-1/system.d/
-public class GPS: zavai.Service
+public class GPS: zavai.ScriptService
 {
     protected libgps.data_t data;
     protected IOChannel gpsfd = null;
@@ -43,6 +43,7 @@ public class GPS: zavai.Service
     {
         Object(name: "gps");
         data = libgps.data_t();
+        started = script_status();
     }
 
     public int fix_status() { return old_fix_status; }
@@ -95,13 +96,7 @@ public class GPS: zavai.Service
     {
         if (started) return;
 
-        try {
-            // Then run our own script
-            zavai.app.run_script(zavai.config.homedir + "/gps start");
-        } catch (Error e) {
-            zavai.log.error("Running " + zavai.config.homedir + "/gps start: " + e.message);
-            return;
-        }
+        if (!script_start()) return;
 
         zavai.log.info("Connecting to gpsd at " + config.gpsd_host + ":" + config.gpsd_port);
         int res = libgps.open_r(config.gpsd_host, config.gpsd_port, ref data);
@@ -118,7 +113,7 @@ public class GPS: zavai.Service
             return;
         }
 
-        res = libgps.send(ref data, "?SKY;");
+        //res = libgps.send(ref data, "?SKY;");
         //res = libgps.send(ref data, "?WATCH;");
         //if (res != 0) zavai.log.error(libgps.errstr(res));
 
@@ -146,11 +141,7 @@ public class GPS: zavai.Service
         if (res != 0)
             zavai.log.error(libgps.errstr(res));
 
-        try {
-            zavai.app.run_script(zavai.config.homedir + "/gps stop");
-        } catch (Error e) {
-            zavai.log.error("Running device stop gps: " + e.message);
-        }
+        script_stop();
 
         if (old_fix_status != libgps.STATUS_NO_FIX)
         {