subscribe: function()

in salesforce/canvas/public/javascripts/canvas-all.js [1090:1122]


          subscribe: function (client, s) {
            var subs = {};
            if ($$.isNil(s) || !validateClient(client)) {
              throw 'precondition fail';
            }
            $$.each($$.isArray(s) ? s : [s], function (v) {
              if (!$$.isNil(v.name)) {
                validName(v.name, ['canvas', 'sfdc']);
                if (v.name === STR_EVT) {
                  if (!$$.isNil(v.params) && !$$.isNil(v.params.topic)) {
                    if ($$.isNil(subscriptions[v.name])) {
                      subscriptions[v.name] = {};
                    }
                    subscriptions[v.name][v.params.topic] = v;
                  } else {
                    throw '[' + STR_EVT + '] topic is missing';
                  }
                } else {
                  subscriptions[v.name] = v;
                }
                subs[v.name] = { params: v.params };
              } else {
                throw "subscription does not have a 'name'";
              }
            });
            if (!client.isVF) {
              postit(null, {
                type: 'subscribe',
                config: { client: client },
                subscriptions: subs,
              });
            }
          },