/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.rpc.YahooService"); dojo.require("dojo.rpc.RpcService"); dojo.require("dojo.rpc.JsonService"); dojo.require("dojo.json"); dojo.require("dojo.uri.*"); dojo.require("dojo.io.ScriptSrcIO"); dojo.rpc.YahooService = function(appId){ this.appId = appId; if(!appId){ this.appId = "dojotoolkit"; dojo.debug( "please initialize the YahooService class with your own", "application ID. Using the default may cause problems during", "deployment of your application"); } this.connect(dojo.uri.dojoUri("src/rpc/yahoo.smd")); this.strictArgChecks = false; } dojo.inherits(dojo.rpc.YahooService, dojo.rpc.JsonService); dojo.lang.extend(dojo.rpc.YahooService, { strictArgChecks: false, bind: function(method, parameters, deferredRequestHandler, url){ //summary //Yahoo RPC bind method. Takes remote method, parameters, deferred, //and a url and sends of a ScriptSrcIO request to connect to Yahoo //services crossplatform var params = parameters; if( (dojo.lang.isArrayLike(parameters))&& (parameters.length == 1)){ params = parameters[0]; } params.output = "json"; params.appid= this.appId; dojo.io.bind({ url: url||this.serviceUrl, transport: "ScriptSrcTransport", // FIXME: need to get content interpolation fixed content: params, jsonParamName: "callback", mimetype: "text/json", load: this.resultCallback(deferredRequestHandler), error: this.errorCallback(deferredRequestHandler), preventCache: true }); } });