| Index: components/arc/common/process.mojom
|
| diff --git a/components/arc/common/process.mojom b/components/arc/common/process.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c6268f9bed7d03d2e8ae58cf17d2f51219f0dfa6
|
| --- /dev/null
|
| +++ b/components/arc/common/process.mojom
|
| @@ -0,0 +1,90 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +module arc;
|
| +
|
| +// Describes the current process state, as defined by AOSP in
|
| +// android.app.ActivityManager.
|
| +enum ProcessState {
|
| + // Process does not exist.
|
| + NONEXISTENT = -1,
|
| +
|
| + // Process is a persistent system process.
|
| + PERSISTENT = 0,
|
| +
|
| + // Process is a persistent system process and is doing UI.
|
| + PERSISTENT_UI = 1,
|
| +
|
| + // Process is hosting the current top activities. Note that this covers
|
| + // all activities that are visible to the user.
|
| + TOP = 2,
|
| +
|
| + // Process is hosting a foreground service due to a system binding.
|
| + BOUND_FOREGROUND_SERVICE = 3,
|
| +
|
| + // Process is hosting a foreground service.
|
| + FOREGROUND_SERVICE = 4,
|
| +
|
| + // Same as PROCESS_STATE_TOP but while device is sleeping.
|
| + TOP_SLEEPING = 5,
|
| +
|
| + // Process is important to the user, and something they are aware of.
|
| + IMPORTANT_FOREGROUND = 6,
|
| +
|
| + // Process is important to the user, but not something they are aware of.
|
| + IMPORTANT_BACKGROUND = 7,
|
| +
|
| + // Process is in the background running a backup/restore operation.
|
| + BACKUP = 8,
|
| +
|
| + // Process is in the background, but it can't restore its state so we want
|
| + // to try to avoid killing it.
|
| + HEAVY_WEIGHT = 9,
|
| +
|
| + // Process is in the background running a service. Unlike oom_adj, this level
|
| + // is used for both the normal running in background state and the executing
|
| + // operations state.
|
| + SERVICE = 10,
|
| +
|
| + // Process is in the background running a receiver. Note that from the
|
| + // perspective of oom_adj receivers run at a higher foreground level, but for
|
| + // our prioritization here that is not necessary and putting them below
|
| + // services means many fewer changes in some process states as they receive
|
| + // broadcasts.
|
| + RECEIVER = 11,
|
| +
|
| + // Process is in the background but hosts the home activity.
|
| + HOME = 12,
|
| +
|
| + // Process is in the background but hosts the last shown activity.
|
| + LAST_ACTIVITY = 13,
|
| +
|
| + // Process is being cached for later use and contains activities.
|
| + CACHED_ACTIVITY = 14,
|
| +
|
| + // Process is being cached for later use and is a client of another cached
|
| + // process that contains activities.
|
| + CACHED_ACTIVITY_CLIENT = 15,
|
| +
|
| + // Process is being cached for later use and is empty.
|
| + CACHED_EMPTY = 16,
|
| +};
|
| +
|
| +// Describes a running ARC process.
|
| +// This struct is a subset of android.app.ActivityManager.RunningAppProcessInfo.
|
| +struct RunningAppProcessInfo {
|
| + // Name of the process.
|
| + string process_name;
|
| +
|
| + // PID (within ARC's PID namespace) of the process.
|
| + uint32 pid;
|
| +
|
| + // Current process state.
|
| + ProcessState process_state;
|
| +};
|
| +
|
| +interface ProcessInstance {
|
| + // Requests ARC instance to return the current process list.
|
| + RequestProcessList() => (array<RunningAppProcessInfo> processes);
|
| +};
|
|
|