Home | History | Annotate | Download | only in impl
      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.
      4 
      5 package org.chromium.mojo.system.impl;
      6 
      7 import org.chromium.mojo.system.DataPipe.ProducerHandle;
      8 import org.chromium.mojo.system.DataPipe.WriteFlags;
      9 import org.chromium.mojo.system.ResultAnd;
     10 
     11 import java.nio.ByteBuffer;
     12 
     13 /**
     14  * Implementation of {@link ProducerHandle}.
     15  */
     16 class DataPipeProducerHandleImpl extends HandleBase implements ProducerHandle {
     17 
     18     /**
     19      * @see HandleBase#HandleBase(CoreImpl, int)
     20      */
     21     DataPipeProducerHandleImpl(CoreImpl core, int mojoHandle) {
     22         super(core, mojoHandle);
     23     }
     24 
     25     /**
     26      * @see HandleBase#HandleBase(HandleBase)
     27      */
     28     DataPipeProducerHandleImpl(HandleBase handle) {
     29         super(handle);
     30     }
     31 
     32     /**
     33      * @see org.chromium.mojo.system.DataPipe.ProducerHandle#pass()
     34      */
     35     @Override
     36     public ProducerHandle pass() {
     37         return new DataPipeProducerHandleImpl(this);
     38     }
     39 
     40     /**
     41      * @see ProducerHandle#writeData(ByteBuffer, WriteFlags)
     42      */
     43     @Override
     44     public ResultAnd<Integer> writeData(ByteBuffer elements, WriteFlags flags) {
     45         return mCore.writeData(this, elements, flags);
     46     }
     47 
     48     /**
     49      * @see ProducerHandle#beginWriteData(int, WriteFlags)
     50      */
     51     @Override
     52     public ByteBuffer beginWriteData(int numBytes, WriteFlags flags) {
     53         return mCore.beginWriteData(this, numBytes, flags);
     54     }
     55 
     56     /**
     57      * @see ProducerHandle#endWriteData(int)
     58      */
     59     @Override
     60     public void endWriteData(int numBytesWritten) {
     61         mCore.endWriteData(this, numBytesWritten);
     62     }
     63 
     64 }
     65