| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package org.chromium.base; |
| |
| import org.jni_zero.CalledByNative; |
| import org.jni_zero.JNINamespace; |
| |
| /** Contains the result of a native main method that ran in a child process. */ |
| @JNINamespace("base::android") |
| public final class MainReturnCodeResult { |
| private final int mMainReturnCode; |
| private final boolean mTimedOut; |
| |
| public static MainReturnCodeResult createMainResult(int returnCode) { |
| return new MainReturnCodeResult(returnCode, /* timedOut= */ false); |
| } |
| |
| public static MainReturnCodeResult createTimeoutMainResult() { |
| return new MainReturnCodeResult(0, /* timedOut= */ true); |
| } |
| |
| private MainReturnCodeResult(int mainReturnCode, boolean timedOut) { |
| mMainReturnCode = mainReturnCode; |
| mTimedOut = timedOut; |
| } |
| |
| @CalledByNative |
| public int getReturnCode() { |
| return mMainReturnCode; |
| } |
| |
| @CalledByNative |
| public boolean hasTimedOut() { |
| return mTimedOut; |
| } |
| } |