template <>

class WireSyncClientImpl

Defined at line 2097 of file fidling/gen/sdk/fidl/fuchsia.hardware.input/fuchsia.hardware.input/cpp/fidl/fuchsia.hardware.input/cpp/wire_messaging.h

Methods to make a sync FIDL call directly on an unowned handle or a

const reference to a |::fidl::ClientEnd

<

::fuchsia_hardware_input::Device>|,

avoiding setting up a client.

Public Methods

::fidl::WireResult< ::fuchsia_hardware_input::Device::Query> Query ()

Obtain information about the hidbus device and supported features.

Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::WireResult< ::fuchsia_hardware_input::Device::GetReportDesc> GetReportDesc ()

Get the report descriptor

Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::WireResult< ::fuchsia_hardware_input::Device::GetDeviceReportsReader> GetDeviceReportsReader (::fidl::ServerEnd< ::fuchsia_hardware_input::DeviceReportsReader> && reader)

Open a new DeviceReportsReader on this device. Opening a DeviceReportsReader

allocates a new FIFO for receiving input reports.

Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_input::Device::ReadReport> ReadReport ()

Read one report out of the report FIFO. Only a single report will be

returned in this API. `time` is the time the report was created, from

the view of the monotonic clock.

If status is ZX_ERR_SHOULD_WAIT the client can wait on the event

from `GetReportsEvent`.

Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::WireResult< ::fuchsia_hardware_input::Device::ReadReports> ReadReports ()

Read up to MAX_REPORT_DATA bytes of reports that have been sent from a device.

This is the interface that is supposed to be used for continuous polling.

Multiple reports can be returned from this API at a time, it is up to the client

to do the parsing of the reports with the correct sizes and offset.

It is guaranteed that only whole reports will be sent.

If there are no reports, this will return ZX_ERR_SHOULD_WAIT, and the client can

wait on the event from `GetReportsEvent`.

Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::WireResult< ::fuchsia_hardware_input::Device::GetReportsEvent> GetReportsEvent ()

Receive an event that will signal on `ZX_USER_SIGNAL_0` when there are reports in the

Device's report FIFO. This signal will be de-asserted when there are no

reports in the Device's report FIFO. This event can be re-used each time

the client wishes to know if there are reports in the FIFO.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_input::Device::GetReport> GetReport (::fuchsia_hardware_hidbus::wire::ReportType type, uint8_t id)

Send a request to the hardware for a given report described by type and id.

Returns the hardware's response. This interface is not intended

to be used for continuous polling of the reports.

Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::WireResult< ::fuchsia_hardware_input::Device::SetReport> SetReport (::fuchsia_hardware_hidbus::wire::ReportType type, uint8_t id, ::fidl::VectorView<uint8_t> report)

Set a single report of the given (type, id) pair.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::OneWayStatus SetTraceId (uint32_t id)

Set the trace ID that is used for HID report flow events.

Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.