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;
{
Object(name: "gps");
data = libgps.data_t();
+ started = script_status();
}
public int fix_status() { return old_fix_status; }
{
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);
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));
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)
{