system_api: Add TestHostsConnectivity D-Bus constants to system_api 1/7 Add D-Bus API constants that will be used by the TestHostsConnectivity implementation in subsequent CLs. Constants added: - kTestHostsConnectivity: D-Bus method name - Option keys: proxy, timeout, max_errors - Proxy values: direct, direct://, system Initially, it was expected to merge this connectivity diagnostics series into debugd, but feedback that can be found at [1] trigger this change. [1] https://chromium-review.googlesource.com/c/chromiumos/platform2/+/7233159/comment/6e0c8553_f522ea6a/ BUG=b:463098734 TEST=emerge-atlas chromeos-base/system_api Change-Id: I4ee6bdadc7f0f97917bbeed69bfb753e54e194d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/7527030 Commit-Queue: Maksim Sisov <msisov@igalia.com> Reviewed-by: Andreea Costinas <acostinas@google.com> Reviewed-by: Hugo Benichi <hugobenichi@google.com> Tested-by: Maksim Sisov <msisov@igalia.com> NOKEYCHECK=True GitOrigin-RevId: ad26337ea35940ff433edc73a6c66ae2dc259a7a
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.