[roll] Roll fuchsia [fuchsia-controller] Refactor C++ libraries into separate directories

The fuchsia-controller C++ libraries were refactored so that fidl_codec
and fuchsia_controller_internal no longer share a directory and sources.
The creation of the new source_set fuchsia_controller_abi makes this
possible.

The fuchsia_controller_abi source set includes:

- The contents of the former py_header.h which ensures each Python.h
  inclusion is accompanied with the appropriate #define's, i.e.,
  PY_SSIZE_T_CLEAN and Py_LIMITED_API.
- The RAII Object for wrapping a PyObject (from the former
  py_wrapper.h).

Otherwise, the previously shared sources were migrated into fidl_codec's
new utils.h header because they were only used in fidl_codec.

Various clang-tidy lints were fixed as well. None of these fixes result
in functional changes to fuchsia-controller.

---

The motivation for this change is to create a clean separation between
fidl_codec and fuchsia_controller_internal to improve the readability of
future planned changes. Those changes will include adding mypy stubs for
fidl_codec, and some simplifying refactors for fidl_codec facilitated by
migrating fuchsia_controller_internal types into fuchsia_controller_abi.

NO_IFTTT=Implementation of fuchsia_controller.h provides an additional
buffer length check to prevent unintentionally removing the check at the
lower level of the implementation.

Original-Fixed: 42085293
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1174755
Original-Revision: f6aa017187062bb283192ea60210f2fcf7b15199
GitOrigin-RevId: f7345edcb748aac950930488f73023cb758b0493
Change-Id: Idcce86c37f72ab4c26ee431efe5642917533ef7b
1 file changed
tree: 25439c27aeac7885a4cc64d615ced880779d4a5b
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.