view static-files/js/server.js @ 58:422fcf9774b1

added js, css, and img subdirectories to static-files.
author Atul Varma <avarma@mozilla.com>
date Mon, 28 Jun 2010 16:51:13 -0700
parents static-files/server.js@0a9c62c25938
children be00b5be37d6
line wrap: on
line source

// -----------------------------------------------------------------------
// Server object
// -----------------------------------------------------------------------
// 
// This sets up an in-browser "server" that can be accessed from other
// windows via a postMessage API.

(
  function(window) {
    var Server = window.Server = {};

    var attendeeCallbacks = [];

    var myOrigin = window.location.protocol + "//" + window.location.host;
    var handlers = {
      getAllUsers: function(options, cb, origin) {
        if (origin != myOrigin) {
          cb({error: "access denied"});
          return;
        }

        // TODO: Add support for more origins.

        if (Config.value.state != "logged-in") {
          cb({error: "not logged in"});
          return;
        }

        if (Attendees.all) {
          cb({users: Attendees.all});
        } else
          attendeeCallbacks.push(cb);
      }
    };

    var server = new Summit.Server(handlers);

    Attendees.observers.push(
      function() {
        var cbs = attendeeCallbacks;
        attendeeCallbacks = [];
        cbs.forEach(function(cb) { cb({users: Attendees.all}); });
      });
  }
)(window);