You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by dd...@apache.org on 2012/07/25 20:50:52 UTC

svn commit: r1365694 - in /shindig/trunk/features/src/main/javascript/features: container/container.js rpc/rpc.js

Author: ddumont
Date: Wed Jul 25 18:50:52 2012
New Revision: 1365694

URL: http://svn.apache.org/viewvc?rev=1365694&view=rev
Log:
SHINDIG-1827 - Allow container implementations to more easily override and extend rpc registered service handlers.

Modified:
    shindig/trunk/features/src/main/javascript/features/container/container.js
    shindig/trunk/features/src/main/javascript/features/rpc/rpc.js

Modified: shindig/trunk/features/src/main/javascript/features/container/container.js
URL: http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container/container.js?rev=1365694&r1=1365693&r2=1365694&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/container/container.js (original)
+++ shindig/trunk/features/src/main/javascript/features/container/container.js Wed Jul 25 18:50:52 2012
@@ -360,10 +360,12 @@ osapi.container.Container.prototype.getG
  * @param {Function} callback post-RPC function to call, with RPC-related
  *                   arguments (with the calling GadgetSite augmented) and the
  *                   callback response itself.
+ *
+ * @return The old service handler for serviceName, if any.
  */
 osapi.container.Container.prototype.rpcRegister = function(service, callback) {
   var self = this;
-  gadgets.rpc.register(service, function() {
+  return gadgets.rpc.register(service, function() {
     // this['f'] is set by calling iframe via gadgets.rpc.
     this[osapi.container.GadgetSite.RPC_ARG_KEY] =
         self.getGadgetSiteByIframeId_(this['f']);

Modified: shindig/trunk/features/src/main/javascript/features/rpc/rpc.js
URL: http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js?rev=1365694&r1=1365693&r2=1365694&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/rpc/rpc.js (original)
+++ shindig/trunk/features/src/main/javascript/features/rpc/rpc.js Wed Jul 25 18:50:52 2012
@@ -817,6 +817,7 @@ if (!window['gadgets']['rpc']) { // make
        * @param {string} serviceName Service name to register.
        * @param {function(Object,Object)} handler Service handler.
        *
+       * @return The old service handler for serviceName, if any.
        * @member gadgets.rpc
        */
       register: function(serviceName, handler) {
@@ -829,7 +830,9 @@ if (!window['gadgets']['rpc']) { // make
                         + ' use registerDefault');
         }
 
+        var old = services[serviceName];
         services[serviceName] = handler;
+        return old;
       },
 
       /**