| Index: third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java
|
| diff --git a/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java b/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java
|
| index 93fde9fa4cf5dc774f1e96742e2dbfe1eca6a970..c2bbc8ebddb4127bef1020b75395dd673b8ad691 100644
|
| --- a/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java
|
| +++ b/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java
|
| @@ -42,6 +42,12 @@ public interface Interface extends ConnectionErrorHandler, Closeable {
|
| public void setErrorHandler(ConnectionErrorHandler errorHandler);
|
|
|
| /**
|
| + * Unbinds the proxy and passes the handle. Can return null if the proxy is not bound or
|
| + * if the proxy is not over a message pipe.
|
| + */
|
| + public MessagePipeHandle passHandle();
|
| +
|
| + /**
|
| * Returns the version number of the interface that the remote side supports.
|
| */
|
| public int getVersion();
|
| @@ -156,6 +162,17 @@ public interface Interface extends ConnectionErrorHandler, Closeable {
|
| }
|
|
|
| /**
|
| + * @see Interface.Proxy.Handler#passHandle()
|
| + */
|
| + @Override
|
| + public MessagePipeHandle passHandle() {
|
| + @SuppressWarnings("unchecked")
|
| + HandleOwner<MessagePipeHandle> handleOwner =
|
| + (HandleOwner<MessagePipeHandle>) mMessageReceiver;
|
| + return handleOwner.passHandle();
|
| + }
|
| +
|
| + /**
|
| * @see Handler#getVersion()
|
| */
|
| @Override
|
| @@ -173,8 +190,8 @@ public interface Interface extends ConnectionErrorHandler, Closeable {
|
| message.reserved1 = 0;
|
| message.queryVersion = new QueryVersion();
|
|
|
| - InterfaceControlMessagesHelper.sendRunMessage(getCore(), getMessageReceiver(),
|
| - message, new Callback1<RunResponseMessageParams>() {
|
| + InterfaceControlMessagesHelper.sendRunMessage(getCore(), mMessageReceiver, message,
|
| + new Callback1<RunResponseMessageParams>() {
|
| @Override
|
| public void call(RunResponseMessageParams response) {
|
| mVersion = response.queryVersionResult.version;
|
| @@ -198,7 +215,7 @@ public interface Interface extends ConnectionErrorHandler, Closeable {
|
| message.requireVersion = new RequireVersion();
|
| message.requireVersion.version = version;
|
| InterfaceControlMessagesHelper.sendRunOrClosePipeMessage(
|
| - getCore(), getMessageReceiver(), message);
|
| + getCore(), mMessageReceiver, message);
|
| }
|
| }
|
|
|
| @@ -354,6 +371,10 @@ public interface Interface extends ConnectionErrorHandler, Closeable {
|
| return Pair.create(proxy, new InterfaceRequest<I>(handles.second));
|
| }
|
|
|
| + public final InterfaceRequest<I> asInterfaceRequest(MessagePipeHandle handle) {
|
| + return new InterfaceRequest<I>(handle);
|
| + }
|
| +
|
| /**
|
| * Binds the implementation to the given |router|.
|
| */
|
|
|