system_api: add VM_STATUS_DISK_OP_IN_PROGRESS to the list of VM statuses

To allow signalling callers that VM can not be started because disk
image associated with the VM is being manipulated (exported, imported,
resized, etc) let's define a new VM_STATUS_DISK_OP_IN_PROGRESS value for
VmStatus.

BUG=b:184565415
TEST=Build

Change-Id: Ib946e05c4ba6ec72e45f4d607a3de9505eaf50b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2973720
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Commit-Queue: Dmitry Torokhov <dtor@chromium.org>
Tested-by: Dmitry Torokhov <dtor@chromium.org>
NOKEYCHECK=True
GitOrigin-RevId: 5eb73064c0ef7c8a0479c6f373a8945492b698fb
1 file changed
tree: 1e1dbd5b2c8dc4409d77edfc9b9e4b5b773e37b8
  1. constants/
  2. dbus/
  3. src/
  4. switches/
  5. .gitignore
  6. BUILD.gn
  7. build.rs
  8. Cargo.toml
  9. LICENSE
  10. OWNERS
  11. README.md
  12. system_api.pc
README.md

This directory (platform2/system_api) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.

This directory is only for things like headers and .proto files. No implementation should be added.

When writting a .proto file make sure to use:

option optimize_for = LITE_RUNTIME;

This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.

When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.