Index: mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceWithClient.java |
diff --git a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceWithClient.java b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceWithClient.java |
deleted file mode 100644 |
index f7d8afec8a24a8db70d64adade82a9b79a1001d5..0000000000000000000000000000000000000000 |
--- a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceWithClient.java |
+++ /dev/null |
@@ -1,115 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.mojo.bindings; |
- |
-import org.chromium.mojo.system.Core; |
-import org.chromium.mojo.system.MessagePipeHandle; |
-import org.chromium.mojo.system.Pair; |
- |
-/** |
- * Base class for mojo generated interfaces that have a client. |
- * |
- * @param <CI> the type of the client interface. |
- */ |
-public interface InterfaceWithClient<CI extends Interface> extends Interface { |
- |
- /** |
- * Proxy class for interfaces with a client. |
- */ |
- interface Proxy<CI extends Interface> extends Interface.Proxy, InterfaceWithClient<CI> { |
- } |
- |
- /** |
- * Base implementation of Proxy. |
- * |
- * @param <CI> the type of the client interface. |
- */ |
- abstract class AbstractProxy<CI extends Interface> extends Interface.AbstractProxy |
- implements Proxy<CI> { |
- |
- /** |
- * Constructor. |
- * |
- * @param core the Core implementation used to create pipes and access the async waiter. |
- * @param messageReceiver the message receiver to send message to. |
- */ |
- public AbstractProxy(Core core, MessageReceiverWithResponder messageReceiver) { |
- super(core, messageReceiver); |
- } |
- |
- /** |
- * @see InterfaceWithClient#setClient(Interface) |
- */ |
- @Override |
- public void setClient(CI client) { |
- throw new UnsupportedOperationException( |
- "Setting the client on a proxy is not supported"); |
- } |
- } |
- |
- /** |
- * Base manager implementation for interfaces that have a client. |
- * |
- * @param <I> the type of the interface the manager can handle. |
- * @param <P> the type of the proxy the manager can handle. To be noted, P always extends I. |
- * @param <CI> the type of the client interface. |
- */ |
- abstract class Manager<I extends InterfaceWithClient<CI>, P extends Proxy<CI>, |
- CI extends Interface> extends Interface.Manager<I, P> { |
- |
- /** |
- * @see Interface.Manager#bind(Interface, MessagePipeHandle) |
- */ |
- @Override |
- public final void bind(I impl, MessagePipeHandle handle) { |
- Router router = new RouterImpl(handle); |
- super.bind(handle.getCore(), impl, router); |
- @SuppressWarnings("unchecked") |
- CI client = (CI) getClientManager().attachProxy(handle.getCore(), router); |
- impl.setClient(client); |
- router.start(); |
- } |
- |
- /** |
- * Returns a Proxy that will send messages to the given |handle|. This implies that the |
- * other end of the handle must be connected to an implementation of the interface. |client| |
- * is the implementation of the client interface. |
- */ |
- public P attachProxy(MessagePipeHandle handle, CI client) { |
- Router router = new RouterImpl(handle); |
- DelegatingConnectionErrorHandler handlers = new DelegatingConnectionErrorHandler(); |
- handlers.addConnectionErrorHandler(client); |
- router.setErrorHandler(handlers); |
- getClientManager().bind(handle.getCore(), client, router); |
- P proxy = super.attachProxy(handle.getCore(), router); |
- handlers.addConnectionErrorHandler(proxy); |
- router.start(); |
- return proxy; |
- } |
- |
- /** |
- * Constructs a new |InterfaceRequest| for the interface. This method returns a Pair where |
- * the first element is a proxy, and the second element is the request. The proxy can be |
- * used immediately. |
- * |
- * @param client the implementation of the client interface. |
- */ |
- public final Pair<P, InterfaceRequest<I>> getInterfaceRequest(Core core, CI client) { |
- Pair<MessagePipeHandle, MessagePipeHandle> handles = core.createMessagePipe(null); |
- P proxy = attachProxy(handles.first, client); |
- return Pair.create(proxy, new InterfaceRequest<I>(handles.second)); |
- } |
- |
- /** |
- * Returns a manager for the client inetrafce. |
- */ |
- protected abstract Interface.Manager<CI, ?> getClientManager(); |
- } |
- |
- /** |
- * Set the client implementation for this interface. |
- */ |
- public void setClient(CI client); |
-} |