| {{/* |
| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| */}} |
| |
| |
| {{- define "Method:ClientImplOnewayBuffer:driver/MessagingHeader" }} |
| {{ .Docs }} |
| {{- if .DocComments }} |
| // |
| {{- end }} |
| // Caller provides the backing storage for FIDL message. |
| ::fidl::Status {{ .Name }}({{ RenderParams .RequestArgs }}); |
| {{ end }} |
| |
| |
| {{- define "Method:ClientImplOnewayBuffer:driver/MessagingSource" }} |
| ::fidl::Status {{ .Protocol.WireWeakOnewayBufferClientImpl.NoLeading }}::{{ .Name }}( |
| {{- RenderParams .RequestArgs }}) { |
| constexpr uint32_t _buffer_size = ::fidl::AsyncClientMethodBufferSizeInChannel<{{ .Marker }}>(); |
| uint8_t* _buffer = static_cast<uint8_t*>(_arena().Allocate(_buffer_size)); |
| |
| {{ .WireTransactionalRequest }} _request{ {{ RenderForwardParams .RequestArgs }} }; |
| ::fidl::unstable::UnownedEncodedMessage<{{ .WireTransactionalRequest }}, {{ .Transport.Type }}> _request_message( |
| _buffer, _buffer_size, &_request); |
| fidl::WriteOptions _options = {}; |
| _options.outgoing_transport_context = |
| ::fidl::internal::OutgoingTransportContext::Create<::fidl::internal::DriverTransport>( |
| _arena().get()); |
| return _client_base()->SendOneWay(_request_message.GetOutgoingMessage(), std::move(_options)); |
| } |
| {{- end }} |
| |