topical media & game development

talk show tell print

mashup-rmx-07-com-almerblank-utils-ServiceUtility.ax

mashup-rmx-07-com-almerblank-utils-ServiceUtility.ax (swf ) [ flash ] flex


  package com.almerblank.utils{
          import flash.net.Responder;
          import flash.system.Security;
          
          public class ServiceUtility{
                  private static var _instance:ServiceUtility;
                  
                  //remoting variables
                  public var gatewayURL:String;
                  public var gateway:RemotingConnection;
                  public var response:Responder;
                  
                  public function ServiceUtility(enforcer:SingletonEnforcer){}
                  
                  public static function getInstance():ServiceUtility{
                          if(ServiceUtility._instance == null){
                                  ServiceUtility._instance = new ServiceUtility(new SingletonEnforcer);
                          }
                          return ServiceUtility._instance;
                  }
                  
                  //set your gateway URL
                  public function init(url:String,security:Boolean,policy:String):void{
                          if(security){
                                  flash.system.Security.loadPolicyFile(policy);
                          }
                          gatewayURL = url;
                  }
                  
                  //call your AMFPHP service
                  public function call(service:String, resultHandler:Function, faultHandler:Function,... params):void{
                          response = new Responder(resultHandler, faultHandler);
                      gateway = new RemotingConnection(gatewayURL);
                      gateway.call(service, response, params);
                  }        
          }
  }
  
Helper class for remoting

   
  import flash.net.NetConnection;
  import flash.net.ObjectEncoding;
          
  class RemotingConnection extends NetConnection{
          public function RemotingConnection(sURL:String){
                  objectEncoding = ObjectEncoding.AMF0;
                  if(sURL){
                          connect(sURL);
                  }
          }
          
          public function AppendToGatewayUrl(s:String):void{
                  //
          }
  }
  
  class SingletonEnforcer{}


(C) Æliens 18/6/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.