|author||Yuanpeng Ni <email@example.com>||Tue Aug 16 21:27:24 2022|
|committer||Copybara-Service <firstname.lastname@example.org>||Fri Aug 19 00:12:33 2022|
system_api: Add ApplyDeferredUpdateAdvanced method and proto Add the ApplyDeferredUpdateAdvanced method that takes an input proto to configure the behavior of applying the deferred update. BUG=b:240469388 TEST=CQ Change-Id: I29af6a683684a424e6d9dae48334460e015948d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/3831068 Reviewed-by: Jae Hoon Kim <email@example.com> Tested-by: Yuanpeng Ni <firstname.lastname@example.org> Commit-Queue: Yuanpeng Ni <email@example.com> NOKEYCHECK=True GitOrigin-RevId: 747a0c074a0a3bdf0fed348b192764833c96c102
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.