commit | e5fc0c7ccb3c64ec9679dd00e95b504121745912 | [log] [tgz] |
---|---|---|
author | Alan Ding <alanding@google.com> | Thu Dec 17 01:24:39 2020 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Dec 29 20:59:00 2020 |
tree | 24afd67d10684ece0d24ee145c5c7fb6772e4f74 | |
parent | e55c51aed157f23c17eeba211d358e1e142c9864 [diff] |
system_api: Add field to disable MediaStore maintenance tasks in ARC. Use protobuf optional field to support this feature which will be passed to CrOS (used in ARC) from Chrome. The service can be scheduled to run on any API level. See http://b/173906243#comment11 for more details. BUG=b:173906243 BUG=b:170071013 BUG=b:172010486 BUG=b:153866893 TEST=emerge-${BOARD} system_api Change-Id: I21d5c6a41c32936fedaa2e98ffc89a0f078fbf44 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2595669 Tested-by: Alan Ding <alanding@chromium.org> Commit-Queue: Alan Ding <alanding@chromium.org> Reviewed-by: Yusuke Sato <yusukes@chromium.org> GitOrigin-RevId: 81c3bc35ca6688fc07cc13583624a1cb17e9c520
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.