home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 157 / MOBICLIC157.ISO / mac / index.swf / scripts / com / milanpresse / capsule / LoadLib.as < prev    next >
Text File  |  2013-09-17  |  4KB  |  128 lines

  1. package com.milanpresse.capsule
  2. {
  3.    import flash.display.Loader;
  4.    import flash.events.Event;
  5.    import flash.events.HTTPStatusEvent;
  6.    import flash.events.IEventDispatcher;
  7.    import flash.events.IOErrorEvent;
  8.    import flash.events.ProgressEvent;
  9.    import flash.net.URLRequest;
  10.    import flash.system.ApplicationDomain;
  11.    import flash.system.LoaderContext;
  12.    
  13.    public class LoadLib
  14.    {
  15.        
  16.       
  17.       private var _swfPath:String = null;
  18.       
  19.       private var _classPath:String = null;
  20.       
  21.       private var _callback:Function = null;
  22.       
  23.       private var _loader:Loader;
  24.       
  25.       private var _lib = null;
  26.       
  27.       private var _params:Object = null;
  28.       
  29.       public function LoadLib(param1:String = null, param2:String = null, param3:Function = null, param4:Object = null)
  30.       {
  31.          super();
  32.          this._params = param4;
  33.          this._swfPath = param2;
  34.          this._classPath = param1;
  35.          this._callback = param3;
  36.          this.init();
  37.       }
  38.       
  39.       private function init() : void
  40.       {
  41.          if(this._classPath == null || ApplicationDomain.currentDomain.hasDefinition(this._classPath) == false)
  42.          {
  43.             this.loadLib(this._swfPath);
  44.          }
  45.          else
  46.          {
  47.             this.libLoaded();
  48.          }
  49.       }
  50.       
  51.       private function libLoaded() : void
  52.       {
  53.          this.libInitialised();
  54.       }
  55.       
  56.       private function libInitialised() : void
  57.       {
  58.          if(this._callback != null)
  59.          {
  60.             this._callback();
  61.          }
  62.       }
  63.       
  64.       private function loadLib(param1:String) : void
  65.       {
  66.          this._loader = new Loader();
  67.          this.loaderAddListeners(this._loader.contentLoaderInfo);
  68.          this._loader.load(new URLRequest(param1),new LoaderContext(false,ApplicationDomain.currentDomain));
  69.       }
  70.       
  71.       private function loaderAddListeners(param1:IEventDispatcher) : void
  72.       {
  73.          param1.addEventListener(Event.COMPLETE,this.completeHandler);
  74.          param1.addEventListener(HTTPStatusEvent.HTTP_STATUS,this.httpStatusHandler);
  75.          param1.addEventListener(Event.INIT,this.initHandler);
  76.          param1.addEventListener(IOErrorEvent.IO_ERROR,this.ioErrorHandler);
  77.          param1.addEventListener(Event.OPEN,this.openHandler);
  78.          param1.addEventListener(ProgressEvent.PROGRESS,this.progressHandler);
  79.          param1.addEventListener(Event.UNLOAD,this.unLoadHandler);
  80.       }
  81.       
  82.       private function loaderRemoveListeners(param1:IEventDispatcher) : void
  83.       {
  84.          param1.removeEventListener(Event.COMPLETE,this.completeHandler);
  85.          param1.removeEventListener(HTTPStatusEvent.HTTP_STATUS,this.httpStatusHandler);
  86.          param1.removeEventListener(Event.INIT,this.initHandler);
  87.          param1.removeEventListener(IOErrorEvent.IO_ERROR,this.ioErrorHandler);
  88.          param1.removeEventListener(Event.OPEN,this.openHandler);
  89.          param1.removeEventListener(ProgressEvent.PROGRESS,this.progressHandler);
  90.          param1.removeEventListener(Event.UNLOAD,this.unLoadHandler);
  91.       }
  92.       
  93.       private function completeHandler(param1:Event) : void
  94.       {
  95.          this.loaderRemoveListeners(this._loader.contentLoaderInfo);
  96.          this.libLoaded();
  97.       }
  98.       
  99.       private function httpStatusHandler(param1:HTTPStatusEvent) : void
  100.       {
  101.       }
  102.       
  103.       private function initHandler(param1:Event) : void
  104.       {
  105.       }
  106.       
  107.       private function ioErrorHandler(param1:IOErrorEvent) : void
  108.       {
  109.       }
  110.       
  111.       private function openHandler(param1:Event) : void
  112.       {
  113.       }
  114.       
  115.       private function progressHandler(param1:ProgressEvent) : void
  116.       {
  117.       }
  118.       
  119.       private function unLoadHandler(param1:Event) : void
  120.       {
  121.       }
  122.       
  123.       public function destroy() : void
  124.       {
  125.       }
  126.    }
  127. }
  128.