1 /**
  2  * @ignore
  3  */
  4 var Ozone = Ozone ? Ozone : {};
  5 
  6 /**
  7  * @ignore
  8  * @namespace
  9  */
 10 Ozone.launcher = Ozone.launcher ? Ozone.launcher : {};
 11 
 12 Ozone.launcher.WidgetLauncherContainer = function(eventingContainer) {
 13 
 14   this.launchChannelName = "_WIDGET_LAUNCHER_CHANNEL";
 15   this.windowManager = null;
 16 
 17   if (eventingContainer != null) {
 18     this.eventingContainer = eventingContainer;
 19     //register on widget launcher channel
 20     var scope = this;
 21     this.eventingContainer.registerHandler(this.launchChannelName, function(sender, msg) {
 22       return scope.launchWidget(Ozone.util.parseJson(sender), Ozone.util.parseJson(msg));
 23     });
 24   }
 25   else {
 26     throw {
 27       name :'WidgetLauncherContainerException',
 28       message :'eventingContainer is null'
 29     }
 30   }
 31 
 32 };
 33 
 34 Ozone.launcher.WidgetLauncherContainer.prototype = {
 35 
 36   launchWidget: function(sender, cfg) {
 37     var window_manager = null;
 38     var returnValue = null;
 39 
 40     //find window_manager for now there will only ever be one
 41     window_manager = this.windowManager;
 42 
 43     if (window_manager != null) {
 44 
 45       returnValue = window_manager.launchWidgetInstance(sender, cfg);
 46     }
 47     else {
 48       throw {
 49         name :'WidgetLauncherContainerException',
 50         message :'window_manager is null'
 51       };
 52     }
 53 
 54     //call launch function on the window_manager
 55     return returnValue;
 56   },
 57 
 58   registerWindowManager: function(window_manager) {
 59     this.windowManager = window_manager;
 60   }
 61 };
 62