topical media & game development
mashup-rmx-07-Chapter7-Exercise2-com-almerblank-utils-ServiceUtility.ax
mashup-rmx-07-Chapter7-Exercise2-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.