flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ha...@apache.org
Subject git commit: [flex-asjs] [refs/heads/develop] - Added callbacks
Date Tue, 05 Jul 2016 10:09:10 GMT
Repository: flex-asjs
Updated Branches:
  refs/heads/develop cc22300be -> 298d2041f


Added callbacks


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/298d2041
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/298d2041
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/298d2041

Branch: refs/heads/develop
Commit: 298d2041ff2c02c203764ed22fb11e131e4b092e
Parents: cc22300
Author: Harbs <harbs@in-tools.com>
Authored: Tue Jul 5 13:09:05 2016 +0300
Committer: Harbs <harbs@in-tools.com>
Committed: Tue Jul 5 13:09:05 2016 +0300

----------------------------------------------------------------------
 .../flex/org/apache/flex/net/URLBinaryLoader.as | 37 +++++++--
 .../main/flex/org/apache/flex/net/URLLoader.as  | 78 ++++++++++++++++++
 .../main/flex/org/apache/flex/net/URLStream.as  | 86 +++++++++++++++++++-
 3 files changed, 191 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/298d2041/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLBinaryLoader.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLBinaryLoader.as
b/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLBinaryLoader.as
index 2dfc490..ff9121b 100644
--- a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLBinaryLoader.as
+++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLBinaryLoader.as
@@ -20,7 +20,6 @@ package org.apache.flex.net
 {    
     
     import org.apache.flex.events.Event;
-    import org.apache.flex.events.EventDispatcher;
     import org.apache.flex.events.ProgressEvent;
     import org.apache.flex.utils.BinaryData;
 
@@ -73,43 +72,63 @@ package org.apache.flex.net
         {
             super();
             stream = new URLStream();
-            stream.addEventListener(HTTPConstants.COMPLETE, onComplete);
+            stream.addEventListener(HTTPConstants.COMPLETE, completeHandler);
         }
         
+		/**
+		 *  Makes the URL request.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */        
         public function load(request:URLRequest):void
         {
             stream.load(request);
         }
         
+		/**
+		 *  Cancels the URL request
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */        
         public function close():void
         {
             stream.close();
+			//TODO do we need a callback for camceling?
         }
         
-        private function redirectEvent(event:Event):void
-        {
-            dispatchEvent(event);
-        }
-        
-        private function onComplete(event:Event):void
+        private function completeHandler(event:Event):void
         {
             data = stream.response;
             if (data)
             {
                 dispatchEvent(event);
+				if(onComplete)
+					onComplete(this);
+
             }
             else
             {
                 // TODO dipatch error event?
                 dispatchEvent(new Event(HTTPConstants.IO_ERROR));
+				if(onError)
+					onError(this);
             }
+			cleanupCallbacks();
         }
         
-        private function onProgress(event:ProgressEvent):void
+        private function progressHandler(event:ProgressEvent):void
         {
             this.bytesLoaded = event.current
             this.bytesTotal = event.total;
             dispatchEvent(event);
+			if(onProgress)
+				onProgress(this);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/298d2041/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLLoader.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLLoader.as b/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLLoader.as
index 809e120..102f525 100644
--- a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLLoader.as
+++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLLoader.as
@@ -86,5 +86,83 @@ package org.apache.flex.net
 		{
 			throw new Error("URLLoader should not be instantiated. Use a derived class instead.")
 		}
+		
+		protected function cleanupCallbacks():void
+		{
+			onComplete = null;
+			onError = null;
+			onProgress = null;
+		}
+		/**
+		 *  Callback for complete event.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public var onComplete:Function;
+		
+		/**
+		 *  Callback for error event.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public var onError:Function;
+		
+		/**
+		 *  Callback for progress event.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public var onProgress:Function;
+		
+		/**
+		 *  Convenience function for complete event to allow chaining.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public function complete(callback:Function):URLLoader
+		{
+			onComplete = callback;
+			return this;
+		}
+		
+		/**
+		 *  Convenience function for error event to allow chaining.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public function error(callback:Function):URLLoader
+		{
+			onError = callback;
+			return this;
+		}
+		
+		/**
+		 *  Convenience function for progress event to allow chaining.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public function progress(callback:Function):URLLoader
+		{
+			onProgress = callback;
+			return this;
+		}
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/298d2041/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLStream.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLStream.as b/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLStream.as
index 7b5ff89..e2b1654 100644
--- a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLStream.as
+++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/net/URLStream.as
@@ -107,6 +107,9 @@ package org.apache.flex.net
         protected function flash_complete(event:flash.events.Event):void
         {
             dispatchEvent(new org.apache.flex.events.Event(HTTPConstants.COMPLETE));
+			if(onComplete)
+				onComplete();
+			cleanupCallbacks();
         }
         COMPILE::SWF
         protected function flash_progress(event:flash.events.ProgressEvent):void
@@ -129,6 +132,9 @@ package org.apache.flex.net
             if (xhr.readyState == 4 && xhr.status == 200)
             {
                 dispatchEvent(new org.apache.flex.events.Event(HTTPConstants.COMPLETE));
+				if(onComplete)
+					onComplete();
+				cleanupHandlers();
             }else if (xhr.readyState==4&&xhr.status==404){
                 //                    dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
             }
@@ -146,9 +152,87 @@ package org.apache.flex.net
             }
 
             //TODO send an event that it's been aborted
+
+			cleanupCallbacks();
+
         }
+		private function cleanupCallbacks():void
+		{
+			onComplete = null;
+			onError = null;
+			onProgress = null;
+		}
+		/**
+		 *  Callback for complete event.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
         public var onComplete:Function;
+		
+		/**
+		 *  Callback for error event.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
         public var onError:Function;
-    }
+		
+		/**
+		 *  Callback for progress event.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public var onProgress:Function;
+		
+		/**
+		 *  Convenience function for complete event to allow chaining.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public function complete(callback:Function):org.apache.flex.net.URLStream
+		{
+			onComplete = callback;
+			return this;
+		}
+		
+		/**
+		 *  Convenience function for error event to allow chaining.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public function error(callback:Function):org.apache.flex.net.URLStream
+		{
+			onError = callback;
+			return this;
+		}
+
+		/**
+		 *  Convenience function for progress event to allow chaining.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.7.0
+		 */		
+		public function progress(callback:Function):org.apache.flex.net.URLStream
+		{
+			onProgress = callback;
+			return this;
+		}
+}
 }
 


Mime
View raw message