[fidl] [llcpp] Generate C-binding-like free helper functions for client calls.
Many existing uses of the C-binding client calls are one-off, and do not assume channel ownership. E.g. zx_status_t do_this(zx_handle_t chan, int32_t arg) { return fuchsia_do_this(chan, arg, more_args); } This is tricky to refactor into llcpp, because SyncClient owns the channel. Setting up a SyncClient for every one-off call is also un-ergonomic. To faciliate those migrations, this patch generates additional helper functions, nested under fuchsia::lib::Protocol::Call e.g. fuchsia::lib::Protocol::Call::MyMethod(zx::unowned_channel client_end); and modifies SyncClient to call these instead. TEST: fidl-llcpp-interop-tests Change-Id: I595504310433818985bc3876ec682b800c02956a
Showing
- garnet/go/src/fidl/compiler/backend/goldens/doc_comments.test.fidl.json.llcpp.cc.golden 5 additions, 1 deletion...ckend/goldens/doc_comments.test.fidl.json.llcpp.cc.golden
- garnet/go/src/fidl/compiler/backend/goldens/doc_comments.test.fidl.json.llcpp.h.golden 11 additions, 0 deletions...ackend/goldens/doc_comments.test.fidl.json.llcpp.h.golden
- garnet/go/src/fidl/compiler/backend/goldens/ordinal_switch.test.fidl.json.llcpp.cc.golden 10 additions, 2 deletions...end/goldens/ordinal_switch.test.fidl.json.llcpp.cc.golden
- garnet/go/src/fidl/compiler/backend/goldens/ordinal_switch.test.fidl.json.llcpp.h.golden 10 additions, 0 deletions...kend/goldens/ordinal_switch.test.fidl.json.llcpp.h.golden
- garnet/go/src/fidl/compiler/backend/goldens/protocol_request.test.fidl.json.llcpp.cc.golden 60 additions, 14 deletions...d/goldens/protocol_request.test.fidl.json.llcpp.cc.golden
- garnet/go/src/fidl/compiler/backend/goldens/protocol_request.test.fidl.json.llcpp.h.golden 44 additions, 0 deletions...nd/goldens/protocol_request.test.fidl.json.llcpp.h.golden
- garnet/go/src/fidl/compiler/backend/goldens/protocols.test.fidl.json.llcpp.cc.golden 270 additions, 66 deletions.../backend/goldens/protocols.test.fidl.json.llcpp.cc.golden
- garnet/go/src/fidl/compiler/backend/goldens/protocols.test.fidl.json.llcpp.h.golden 182 additions, 0 deletions...r/backend/goldens/protocols.test.fidl.json.llcpp.h.golden
- garnet/go/src/fidl/compiler/llcpp_backend/llcpp/templates/fragments/interface.tmpl.go 39 additions, 0 deletions...llcpp_backend/llcpp/templates/fragments/interface.tmpl.go
- garnet/go/src/fidl/compiler/llcpp_backend/llcpp/templates/fragments/sync_request_c_flavor.tmpl.go 32 additions, 2 deletions...d/llcpp/templates/fragments/sync_request_c_flavor.tmpl.go
- garnet/go/src/fidl/compiler/llcpp_backend/llcpp/templates/fragments/sync_request_caller_allocate.tmpl.go 27 additions, 2 deletions.../templates/fragments/sync_request_caller_allocate.tmpl.go
- garnet/go/src/fidl/compiler/llcpp_backend/llcpp/templates/fragments/sync_request_in_place.tmpl.go 18 additions, 2 deletions...d/llcpp/templates/fragments/sync_request_in_place.tmpl.go
- zircon/system/ulib/fidl/include/lib/fidl/llcpp/coding.h 17 additions, 3 deletionszircon/system/ulib/fidl/include/lib/fidl/llcpp/coding.h
- zircon/system/utest/fidl-llcpp-interop/generated/fidl_llcpp_basictypes.cc 30 additions, 8 deletions...est/fidl-llcpp-interop/generated/fidl_llcpp_basictypes.cc
- zircon/system/utest/fidl-llcpp-interop/generated/fidl_llcpp_basictypes.h 31 additions, 0 deletions...test/fidl-llcpp-interop/generated/fidl_llcpp_basictypes.h
- zircon/system/utest/fidl-llcpp-interop/generated/fidl_llcpp_controlflow.cc 25 additions, 6 deletions...st/fidl-llcpp-interop/generated/fidl_llcpp_controlflow.cc
- zircon/system/utest/fidl-llcpp-interop/generated/fidl_llcpp_controlflow.h 35 additions, 0 deletions...est/fidl-llcpp-interop/generated/fidl_llcpp_controlflow.h
- zircon/system/utest/fidl-llcpp-interop/generated/fidl_llcpp_dirent.cc 55 additions, 13 deletions...m/utest/fidl-llcpp-interop/generated/fidl_llcpp_dirent.cc
- zircon/system/utest/fidl-llcpp-interop/generated/fidl_llcpp_dirent.h 51 additions, 0 deletions...em/utest/fidl-llcpp-interop/generated/fidl_llcpp_dirent.h
Loading
Please register or sign in to comment