/* * Copyright(c) 2008 the Spark project. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package { import flash.utils.Proxy; import flash.utils.flash_proxy; import jp.cohesion.common.IKernel; use namespace flash_proxy; /* == [Project Cohesion] =================================================== */ /** * * * @author $Author$ * @revision $Rev$ * @date $Date$ */ public dynamic class ServiceProxy extends Proxy { // コンストラクタ /////////////////////////////////////////////////////////////////// // Constructors // ///////////////////////////////////////////////////////////////////////////////////// /** * * @param kernel * @param serviceName */ public function ServiceProxy(kernel:IKernel, serviceName:String) { this.kernel = kernel; this.serviceName = serviceName; } /** */ private var kernel:IKernel; /** */ private var serviceName:String; /** * * @param methodName * @param ...args * @return */ flash_proxy override function callProperty(methodName:*, ...args):* { if (args != null && args.length > 0) { if (args[0] is IKernel) { args.shift(); } } kernel.remoteCallByArray(this.serviceName, methodName.toString(), args); } } }