template <>

class WireServer

Defined at line 2480 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.device/fuchsia.hardware.usb.device/cpp/fidl/fuchsia.hardware.usb.device/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_hardware_usb_device::Device>|

and |::fidl::ServerEnd

<

::fuchsia_hardware_usb_device::Device>|).

Public Methods

void GetDeviceSpeed (GetDeviceSpeedCompleter::Sync & completer)

Returns the speed of the USB device as a usb_speed_t value.

void GetDeviceDescriptor (GetDeviceDescriptorCompleter::Sync & completer)

Returns the device's USB device descriptor.

void GetConfigurationDescriptorSize (::fuchsia_hardware_usb_device::wire::DeviceGetConfigurationDescriptorSizeRequest * request, GetConfigurationDescriptorSizeCompleter::Sync & completer)

Returns the total size of the USB configuration descriptor for the given configuration.

void GetConfigurationDescriptor (::fuchsia_hardware_usb_device::wire::DeviceGetConfigurationDescriptorRequest * request, GetConfigurationDescriptorCompleter::Sync & completer)

Returns the device's USB configuration descriptor for the given configuration.

void GetStringDescriptor (::fuchsia_hardware_usb_device::wire::DeviceGetStringDescriptorRequest * request, GetStringDescriptorCompleter::Sync & completer)

Fetches a string descriptor from the USB device.

desc_id : The ID of the string descriptor to fetch, or 0 to fetch

the language table instead.

lang_id : The language ID of the string descriptor to fetch.

If no matching language ID is present in the device's language

ID table, the first entry of the language ID table will

be substituted.

actual_lang_id : The actual language ID of the string fetched, or 0 for

the language ID table.

The worst case size for the payload of a language ID table should be 252

bytes, meaning that a 256 byte buffer should always be enough to hold any

language ID table.

The worst case size for a UTF-8 encoded string descriptor payload should be

378 bytes (126 UTF-16 code units with a worst case expansion factor of 3)

void SetInterface (::fuchsia_hardware_usb_device::wire::DeviceSetInterfaceRequest * request, SetInterfaceCompleter::Sync & completer)

Selects an alternate setting for an interface on a USB device.

void GetDeviceId (GetDeviceIdCompleter::Sync & completer)

Returns an implementation specific device ID for a USB device.

For informational purposes only.

void GetHubDeviceId (GetHubDeviceIdCompleter::Sync & completer)

Returns the implementation specific device ID for the hub that a USB device is connected to.

For informational purposes only.

void GetConfiguration (GetConfigurationCompleter::Sync & completer)

Returns the device's current configuration.

void SetConfiguration (::fuchsia_hardware_usb_device::wire::DeviceSetConfigurationRequest * request, SetConfigurationCompleter::Sync & completer)

Sets the device's current configuration.

void WireServer ()

Defined at line 2483 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.device/fuchsia.hardware.usb.device/cpp/fidl/fuchsia.hardware.usb.device/cpp/wire_messaging.h

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~WireServer ()

Defined at line 2484 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.device/fuchsia.hardware.usb.device/cpp/fidl/fuchsia.hardware.usb.device/cpp/wire_messaging.h