Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / mojo / public / java / src / org / chromium / mojo / system / UntypedHandle.java
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;
6
7 import org.chromium.mojo.system.DataPipe.ConsumerHandle;
8 import org.chromium.mojo.system.DataPipe.ProducerHandle;
9
10 /**
11  * A mojo handle of unknown type. This handle can be typed by using one of its methods, which will
12  * return a handle of the requested type and invalidate this object. No validation is made when the
13  * conversion operation is called.
14  */
15 public interface UntypedHandle extends Handle {
16
17     /**
18      * Returns the underlying handle, as a {@link MessagePipeHandle}, invalidating this
19      * representation.
20      */
21     public MessagePipeHandle toMessagePipeHandle();
22
23     /**
24      * Returns the underlying handle, as a {@link ConsumerHandle}, invalidating this representation.
25      */
26     public ConsumerHandle toDataPipeConsumerHandle();
27
28     /**
29      * Returns the underlying handle, as a {@link ProducerHandle}, invalidating this representation.
30      */
31     public ProducerHandle toDataPipeProducerHandle();
32
33     /**
34      * Returns the underlying handle, as a {@link SharedBufferHandle}, invalidating this
35      * representation.
36      */
37     public SharedBufferHandle toSharedBufferHandle();
38
39 }