CloudServices/Sync/FxSync/Developer/ClientAPI: Difference between revisions

Jump to navigation Jump to search
Line 192: Line 192:


<pre>
<pre>
  function FooTracker() {
  function FooTracker(name) {
  this._init();
  Tracker.call(this, name);
 
  // Register yourself as event listener or observer for whatever
  // you want to track. Note that this may unnecessarily slow down
  // things for users who don't use Sync. It's a bit smarter to have
  // yourself notified when to start and stop tracking therefore:
  Svc.Obs.add("weave:engine:start-tracking", this);
  Svc.Obs.add("weave:engine:stop-tracking", this);
  }
  }
  FooTracker.prototype = {
  FooTracker.prototype = {
   __proto__: Tracker.prototype,
   __proto__: Tracker.prototype,
   _logName: "FooTracker",
   _logName: "FooTracker",
  file: "foo",


  _init: function FooTracker_init() {
  _enabled: false,
    // The ugly syntax on the next line calls the base class's init method:
  observe: function observe(subject, topic, data) {
    this.__proto__.__proto__._init.call(this);
    switch (topic) {
    /* Here is where you would register your tracker as an observer, so that
      case "weave:engine:start-tracking":
         its onEvent() (or other appropriately named) method can be called
        if (!this._enabled) {
         in response to events. */
          // register event handler or observer here
  },
          ...
          this._enabled = true;
        }
        break;
      case "weave:engine:stop-tracking":
        if (this._enabled) {
          // remove event handler or observer here
          ...
          this._enabled = false;
         }
         break;
    }


   onEvent: function FooTracker_onEvent() {
   onEvent: function FooTracker_onEvent() {
canmove, Confirmed users
725

edits

Navigation menu