commit | fa2b49beafb2488e27946fa4aed292479c7de956 | [log] [tgz] |
---|---|---|
author | Garrick Evans <garrick@google.com> | Tue Jul 07 01:58:07 2020 |
committer | Mike Frysinger <vapier@chromium.org> | Wed Jul 08 18:19:36 2020 |
tree | a6479172cccf369b6ef5f900e29c122086a97f97 | |
parent | ef46799ec27b5894cf8229c98e2a90942a2be403 [diff] |
system_api: Add patchpanel OWNERS BUG=None TEST=None Change-Id: I1d20ced426c4c5cf19761deb554e6638282254b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2282879 Tested-by: Garrick Evans <garrick@chromium.org> Reviewed-by: Hugo Benichi <hugobenichi@google.com> Reviewed-by: Eric Caruso <ejcaruso@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> Cr-Mirrored-From: https://chromium.googlesource.com/chromiumos/platform2 Cr-Mirrored-Commit: 06b968ac8625de66e62c7c1ff9137339f83c86e7
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.