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.system.impl;
7 import org.chromium.mojo.system.DataPipe.ProducerHandle;
8 import org.chromium.mojo.system.DataPipe.WriteFlags;
10 import java.nio.ByteBuffer;
13 * Implementation of {@link ProducerHandle}.
15 class DataPipeProducerHandleImpl extends HandleBase implements ProducerHandle {
18 * @see HandleBase#HandleBase(CoreImpl, int)
20 DataPipeProducerHandleImpl(CoreImpl core, int mojoHandle) {
21 super(core, mojoHandle);
25 * @see HandleBase#HandleBase(HandleBase)
27 DataPipeProducerHandleImpl(HandleBase handle) {
32 * @see org.chromium.mojo.system.DataPipe.ProducerHandle#pass()
35 public ProducerHandle pass() {
36 return new DataPipeProducerHandleImpl(this);
40 * @see ProducerHandle#writeData(ByteBuffer, WriteFlags)
43 public int writeData(ByteBuffer elements, WriteFlags flags) {
44 return mCore.writeData(this, elements, flags);
48 * @see ProducerHandle#beginWriteData(int, WriteFlags)
51 public ByteBuffer beginWriteData(int numBytes, WriteFlags flags) {
52 return mCore.beginWriteData(this, numBytes, flags);
56 * @see ProducerHandle#endWriteData(int)
59 public void endWriteData(int numBytesWritten) {
60 mCore.endWriteData(this, numBytesWritten);