summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/terminal/JavaScriptCallbackHelper.java
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-06-14 22:57:28 +0300
committerLeif Åstrand <leif@vaadin.com>2012-06-14 22:57:28 +0300
commit51ce4a2535146a3b8861bd02f655c18d9a397522 (patch)
tree2c4421863c5255b1595111c6e968b0a84f1c9f4b /src/com/vaadin/terminal/JavaScriptCallbackHelper.java
parent72c0f66e2aa588acbb517e6d9b482c7a75faf9f1 (diff)
downloadvaadin-framework-51ce4a2535146a3b8861bd02f655c18d9a397522.tar.gz
vaadin-framework-51ce4a2535146a3b8861bd02f655c18d9a397522.zip
Implement js rpc proxy objects and wildcard rpc support (#8888)
Diffstat (limited to 'src/com/vaadin/terminal/JavaScriptCallbackHelper.java')
-rw-r--r--src/com/vaadin/terminal/JavaScriptCallbackHelper.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/com/vaadin/terminal/JavaScriptCallbackHelper.java b/src/com/vaadin/terminal/JavaScriptCallbackHelper.java
index c1da8b36ba..eabbcf4925 100644
--- a/src/com/vaadin/terminal/JavaScriptCallbackHelper.java
+++ b/src/com/vaadin/terminal/JavaScriptCallbackHelper.java
@@ -7,7 +7,9 @@ package com.vaadin.terminal;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
import com.vaadin.external.json.JSONArray;
import com.vaadin.external.json.JSONException;
@@ -75,4 +77,24 @@ public class JavaScriptCallbackHelper {
connector.requestRepaint();
}
+ public void registerRpc(Class<?> rpcInterfaceType) {
+ if (rpcInterfaceType == JavaScriptCallbackRpc.class) {
+ // Ignore
+ return;
+ }
+ Map<String, Set<String>> rpcInterfaces = getConnectorState()
+ .getRpcInterfaces();
+ String interfaceName = rpcInterfaceType.getName();
+ if (!rpcInterfaces.containsKey(interfaceName)) {
+ Set<String> methodNames = new HashSet<String>();
+
+ for (Method method : rpcInterfaceType.getMethods()) {
+ methodNames.add(method.getName());
+ }
+
+ rpcInterfaces.put(interfaceName, methodNames);
+ connector.requestRepaint();
+ }
+ }
+
}