[roll] Roll fuchsia [fidl][cpp] BindServer infer protocol type from endpoint type

Historically, BindServer was templated by the ServerImpl type. That
allowed it to take a raw Zircon channel and still figure out the right
protocol by checking ServerImpl::_EnclosingProtocol. But this breaks
down when a server implements multiple protocol generated classes.

Now the C++ bindings use typed channels (ServerEnd<P>). We can change
BindServer to infer the protocol that is to be bound, from the protocol
templated parameter in the ServerEnd.

This allows almost all uses of BindServer to infer the template argument
(the CL contains a migration). The only few remaining case is when the
code still have not migrated to typed channels (guarded by allowlist).

RELNOTES: When calling fidl::BindServer or fdf::BindServer, there is no
need to explicitly specify template parameters. If you previously added
template paramters (i.e. `fidl::BindServer<...>(...)`), those may fail
to compile. Simply remove the template parameters.

Original-Fixed: 115183

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/763223
Original-Revision: 43bc5153dec12b41c3d6cdd7e1ef6d1626f0e350
GitOrigin-RevId: 722d9d5e2c643e6050e865a5dba1eed7b7b1d401
Change-Id: I29ea3e7bf0d9a91d8a9df27be0fd5719dd724f56
1 file changed
tree: dc374594f17bb9f13c4af43fb7052afcc6c09ec6
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
  13. 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 via the IRC channel #fuchsia on Freenode.

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.