home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / mx / rpc / ActiveCalls.as < prev    next >
Encoding:
Text File  |  2010-06-23  |  1.6 KB  |  73 lines

  1. package mx.rpc
  2. {
  3.    import mx.core.mx_internal;
  4.    
  5.    use namespace mx_internal;
  6.    
  7.    public class ActiveCalls
  8.    {
  9.       private var callOrder:Array;
  10.       
  11.       private var calls:Object;
  12.       
  13.       public function ActiveCalls()
  14.       {
  15.          super();
  16.          calls = {};
  17.          callOrder = [];
  18.       }
  19.       
  20.       public function removeCall(param1:String) : AsyncToken
  21.       {
  22.          var _loc2_:AsyncToken = calls[param1];
  23.          if(_loc2_ != null)
  24.          {
  25.             delete calls[param1];
  26.             callOrder.splice(callOrder.lastIndexOf(param1),1);
  27.          }
  28.          return _loc2_;
  29.       }
  30.       
  31.       public function cancelLast() : AsyncToken
  32.       {
  33.          if(callOrder.length > 0)
  34.          {
  35.             return removeCall(callOrder[callOrder.length - 1] as String);
  36.          }
  37.          return null;
  38.       }
  39.       
  40.       public function hasActiveCalls() : Boolean
  41.       {
  42.          return callOrder.length > 0;
  43.       }
  44.       
  45.       public function wasLastCall(param1:String) : Boolean
  46.       {
  47.          if(callOrder.length > 0)
  48.          {
  49.             return callOrder[callOrder.length - 1] == param1;
  50.          }
  51.          return false;
  52.       }
  53.       
  54.       public function getAllMessages() : Array
  55.       {
  56.          var _loc2_:String = null;
  57.          var _loc1_:Array = [];
  58.          for(_loc2_ in calls)
  59.          {
  60.             _loc1_.push(calls[_loc2_]);
  61.          }
  62.          return _loc1_;
  63.       }
  64.       
  65.       public function addCall(param1:String, param2:AsyncToken) : void
  66.       {
  67.          calls[param1] = param2;
  68.          callOrder.push(param1);
  69.       }
  70.    }
  71. }
  72.  
  73.