1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.chromium.mojo;
7 import org.chromium.mojo.system.Core;
8 import org.chromium.mojo.system.DataPipe;
9 import org.chromium.mojo.system.DataPipe.ConsumerHandle;
10 import org.chromium.mojo.system.DataPipe.ProducerHandle;
11 import org.chromium.mojo.system.Handle;
12 import org.chromium.mojo.system.MessagePipeHandle;
13 import org.chromium.mojo.system.MojoResult;
14 import org.chromium.mojo.system.SharedBufferHandle;
15 import org.chromium.mojo.system.UntypedHandle;
16 import org.chromium.mojo.system.impl.CoreImpl;
18 import java.nio.ByteBuffer;
19 import java.util.List;
22 * A mock handle, that does nothing.
24 public class HandleMock implements UntypedHandle, MessagePipeHandle,
25 ProducerHandle, ConsumerHandle, SharedBufferHandle {
36 * @see Handle#wait(Core.HandleSignals, long)
39 public int wait(Core.HandleSignals signals, long deadline) {
45 * @see Handle#isValid()
48 public boolean isValid() {
53 * @see Handle#toUntypedHandle()
56 public UntypedHandle toUntypedHandle() {
61 * @see org.chromium.mojo.system.Handle#getCore()
64 public Core getCore() {
65 return CoreImpl.getInstance();
69 * @see org.chromium.mojo.system.UntypedHandle#pass()
72 public HandleMock pass() {
77 * @see Handle#releaseNativeHandle()
80 public int releaseNativeHandle() {
85 * @see ConsumerHandle#discardData(int, DataPipe.ReadFlags)
88 public int discardData(int numBytes, DataPipe.ReadFlags flags) {
94 * @see ConsumerHandle#readData(java.nio.ByteBuffer, DataPipe.ReadFlags)
97 public int readData(ByteBuffer elements,
98 DataPipe.ReadFlags flags) {
104 * @see ConsumerHandle#beginReadData(int, DataPipe.ReadFlags)
107 public ByteBuffer beginReadData(int numBytes,
108 DataPipe.ReadFlags flags) {
114 * @see ConsumerHandle#endReadData(int)
117 public void endReadData(int numBytesRead) {
122 * @see ProducerHandle#writeData(java.nio.ByteBuffer, DataPipe.WriteFlags)
125 public int writeData(ByteBuffer elements,
126 DataPipe.WriteFlags flags) {
132 * @see ProducerHandle#beginWriteData(int, DataPipe.WriteFlags)
135 public ByteBuffer beginWriteData(int numBytes,
136 DataPipe.WriteFlags flags) {
142 * @see ProducerHandle#endWriteData(int)
145 public void endWriteData(int numBytesWritten) {
150 * @see MessagePipeHandle#writeMessage(java.nio.ByteBuffer, java.util.List,
151 * MessagePipeHandle.WriteFlags)
154 public void writeMessage(ByteBuffer bytes, List<? extends Handle> handles,
160 * @see MessagePipeHandle#readMessage(java.nio.ByteBuffer, int, MessagePipeHandle.ReadFlags)
163 public ReadMessageResult readMessage(ByteBuffer bytes, int maxNumberOfHandles,
166 return new ReadMessageResult();
170 * @see UntypedHandle#toMessagePipeHandle()
173 public MessagePipeHandle toMessagePipeHandle() {
178 * @see UntypedHandle#toDataPipeConsumerHandle()
181 public ConsumerHandle toDataPipeConsumerHandle() {
186 * @see UntypedHandle#toDataPipeProducerHandle()
189 public ProducerHandle toDataPipeProducerHandle() {
194 * @see UntypedHandle#toSharedBufferHandle()
197 public SharedBufferHandle toSharedBufferHandle() {
202 * @see SharedBufferHandle#duplicate(SharedBufferHandle.DuplicateOptions)
205 public SharedBufferHandle duplicate(DuplicateOptions options) {
211 * @see SharedBufferHandle#map(long, long, SharedBufferHandle.MapFlags)
214 public ByteBuffer map(long offset, long numBytes, MapFlags flags) {
220 * @see SharedBufferHandle#unmap(java.nio.ByteBuffer)
223 public void unmap(ByteBuffer buffer) {