| OLD | NEW |
| (Empty) |
| 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.Core.HandleSignals; | |
| 8 | |
| 9 /** | |
| 10 * A class which implements the {@link AsyncWaiter} allows asynchronously waitin
g on a background | |
| 11 * thread. | |
| 12 */ | |
| 13 public interface AsyncWaiter { | |
| 14 | |
| 15 /** | |
| 16 * Allows cancellation of an asyncWait operation. | |
| 17 */ | |
| 18 interface Cancellable { | |
| 19 /** | |
| 20 * Cancels an asyncWait operation. Has no effect if the operation has al
ready been canceled | |
| 21 * or the callback has already been called. | |
| 22 * <p> | |
| 23 * Must be called from the same thread as {@link AsyncWaiter#asyncWait}
was called from. | |
| 24 */ | |
| 25 void cancel(); | |
| 26 } | |
| 27 | |
| 28 /** | |
| 29 * Callback passed to {@link AsyncWaiter#asyncWait}. | |
| 30 */ | |
| 31 public interface Callback { | |
| 32 /** | |
| 33 * Called when the handle is ready. | |
| 34 */ | |
| 35 public void onResult(int result); | |
| 36 | |
| 37 /** | |
| 38 * Called when an error occurred while waiting. | |
| 39 */ | |
| 40 public void onError(MojoException exception); | |
| 41 } | |
| 42 | |
| 43 /** | |
| 44 * Asynchronously call wait on a background thread. The given {@link Callbac
k} will be notified | |
| 45 * of the result of the wait on the same thread as asyncWait was called. | |
| 46 * | |
| 47 * @return a {@link Cancellable} object that can be used to cancel waiting.
The cancellable | |
| 48 * should only be used on the current thread, and becomes invalid on
ce the callback has | |
| 49 * been notified. | |
| 50 */ | |
| 51 Cancellable asyncWait(Handle handle, HandleSignals signals, long deadline, C
allback callback); | |
| 52 | |
| 53 } | |
| OLD | NEW |