You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2018/10/10 19:34:24 UTC

[royale-asjs] 12/16: allow different sets of messages to be used

This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit bbe5e2da038de0bc773caa681db88f34c47adf2e
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Oct 10 10:52:42 2018 -0700

    allow different sets of messages to be used
---
 .../src/main/royale/mx/net/NetConnection.as        | 35 ++++++++++++++++++----
 .../royale/org/apache/royale/net/RemoteObject.as   |  2 ++
 .../org/apache/royale/net/SimpleRemoteObject.as    |  2 ++
 .../royale/net/remoting/amf/AMFNetConnection.as    | 13 ++++++--
 4 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/net/NetConnection.as b/frameworks/projects/MXRoyale/src/main/royale/mx/net/NetConnection.as
index e2bb4b3..65d49d9 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/net/NetConnection.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/net/NetConnection.as
@@ -20,9 +20,12 @@
 package mx.net
 {
     import mx.messaging.messages.IMessage;
+    import mx.messaging.messages.ErrorMessage;
     
+    import org.apache.royale.net.Responder;
+    import org.apache.royale.net.remoting.amf.AMFNetConnection;
     import org.apache.royale.events.EventDispatcher;
-
+    
 /**
  *  The NetConnection class mimics the Flash NetConnection.
  *  
@@ -34,6 +37,13 @@ package mx.net
 public class NetConnection extends EventDispatcher
 {
     
+    private var nc:AMFNetConnection = new AMFNetConnection();
+    
+    public function NetConnection()
+    {
+        nc.errorClass = ErrorMessage;    
+    }
+    
     //--------------------------------------------------------------------------
     //
     //  Class methods
@@ -54,6 +64,8 @@ public class NetConnection extends EventDispatcher
         
     }
 
+    private var _connected:Boolean;
+    
     /**
      *  connected
      * 
@@ -63,7 +75,10 @@ public class NetConnection extends EventDispatcher
      *  @playerversion AIR 1.1
      *  @productversion ApacheFlex 4.10
      */
-    public var connected:Boolean;
+    public function get connected():Boolean
+    {
+        return _connected;
+    }
     
     /**
      *  client
@@ -87,6 +102,7 @@ public class NetConnection extends EventDispatcher
      */
     public var objectEncoding:uint;
     
+    private var _uri:String;
     /**
      *  uri
      * 
@@ -96,7 +112,10 @@ public class NetConnection extends EventDispatcher
      *  @playerversion AIR 1.1
      *  @productversion ApacheFlex 4.10
      */
-    public var uri:String;
+    public function get uri():String
+    {
+        return _uri;
+    }
     
     /**
      *  connect
@@ -109,7 +128,8 @@ public class NetConnection extends EventDispatcher
      */
     public function connect(url:String):void
     {
-        
+        _uri = url;
+        nc.connect(url);
     }
 
     /**
@@ -121,9 +141,14 @@ public class NetConnection extends EventDispatcher
      *  @playerversion AIR 1.1
      *  @productversion ApacheFlex 4.10
      */
-    public function call(thisObject:Object, responder:Responder, message:IMessage):void
+    public function call(thisObject:Object, responder:mx.net.Responder, message:IMessage):void
     {
+        client = thisObject;
         
+        var ncResponder:org.apache.royale.net.Responder = 
+                        new org.apache.royale.net.Responder(responder.resultFunction,
+                                                              responder.faultFunction);
+        nc.call(null, ncResponder, message);
     }
 }
 
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/RemoteObject.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/RemoteObject.as
index 0067f3d..55d692e 100755
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/RemoteObject.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/RemoteObject.as
@@ -26,6 +26,7 @@ package org.apache.royale.net
     import org.apache.royale.net.events.ResultEvent;
     import org.apache.royale.net.remoting.Operation;
     import org.apache.royale.net.remoting.amf.AMFNetConnection;
+    import org.apache.royale.net.remoting.messages.ErrorMessage;
 
 	[Event(name="result", type="org.apache.royale.net.events.ResultEvent")]
 	[Event(name="fault", type="org.apache.royale.net.events.FaultEvent")]
@@ -61,6 +62,7 @@ package org.apache.royale.net
 		 */ 
 		public function RemoteObject()
 		{
+            nc.errorClass = ErrorMessage;
 		}
 		
         private var _strand:IStrand;
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/SimpleRemoteObject.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/SimpleRemoteObject.as
index ef0d33a..90d4265 100755
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/SimpleRemoteObject.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/SimpleRemoteObject.as
@@ -26,6 +26,7 @@ package org.apache.royale.net
     import org.apache.royale.net.events.ResultEvent;
     import org.apache.royale.net.remoting.SimpleOperation;
     import org.apache.royale.net.remoting.amf.AMFNetConnection;
+    import org.apache.royale.net.remoting.messages.ErrorMessage;
 
 	[Event(name="result", type="org.apache.royale.net.events.ResultEvent")]
 	[Event(name="fault", type="org.apache.royale.net.events.FaultEvent")]
@@ -53,6 +54,7 @@ package org.apache.royale.net
 		 */ 
 		public function SimpleRemoteObject()
 		{
+            nc.errorClass = ErrorMessage;
 		}
 		
         private var _strand:IStrand;
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/remoting/amf/AMFNetConnection.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/remoting/amf/AMFNetConnection.as
index 1dd4e5f..d09ec28 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/remoting/amf/AMFNetConnection.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/remoting/amf/AMFNetConnection.as
@@ -33,7 +33,6 @@ import flash.net.ObjectEncoding;
     
 import org.apache.royale.net.Responder;
 import org.apache.royale.net.remoting.messages.ActionMessage;
-import org.apache.royale.net.remoting.messages.ErrorMessage;
 import org.apache.royale.net.remoting.messages.MessageBody;
 import org.apache.royale.net.remoting.messages.MessageHeader;
     
@@ -74,6 +73,16 @@ public class AMFNetConnection
         }
     }
     
+    /**
+     *  The class to use to test if success or failure
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.5 
+     */
+    public var errorClass:Class;
+    
     private var url:String;
     
     COMPILE::SWF
@@ -273,7 +282,7 @@ public class AMFNetConnection
                     for (var i:int in message.bodies)
                     {
                         body = message.bodies[i];
-                        if (!(body.data is ErrorMessage))
+                        if (!(body.data is errorClass))
                             responder.onSuccess(body.data);
                         else
                             responder.onFailure(body.data);