if not os.path.isdir(self.trackdir):
zavai.info("Creating directory", self.trackdir)
os.makedirs(self.trackdir)
+ self.activity_monitors = set()
+
+ def add_activity_monitor(self, cb):
+ self.activity_monitors.add(cb)
+ cb(self, self.last_pos is not None)
+
+ def del_activity_monitor(self, cb):
+ self.activity_monitors.discard(cb)
+
+ def notify_activity_monitors(self):
+ for mon in self.activity_monitors:
+ mon(self, self.last_pos is not None)
def request(self, tag):
"Request the GPX trace to be taken"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">""" % VERSION
self.wpt_seq = 1;
+ self.notify_activity_monitors()
def stop(self):
if self.trk is not None:
self.wpt.close()
self.wpt = None
self.last_pos = None
+ self.notify_activity_monitors()
def shutdown(self):
self.stop()