template <>

class WireServer

Defined at line 3797 of file fidling/gen/sdk/fidl/fuchsia.wlan.phyimpl/fuchsia.wlan.phyimpl/cpp/fidl/fuchsia.wlan.phyimpl/cpp/driver/wire_messaging.h

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_wlan_phyimpl::WlanPhyImpl>|

and |::fdf::ServerEnd

<

::fuchsia_wlan_phyimpl::WlanPhyImpl>|).

Public Methods

void Init (::fuchsia_wlan_phyimpl::wire::WlanPhyImplInitRequest * request, fdf::Arena & arena, InitCompleter::Sync & completer)

This method can be used by the WlanPhyImpl client to send the client end of the

WlanPhyImplNotify endpoint for the WlanPhyImpl server to use. If the WlanPhyImpl client

never invokes this method that is an indirect implication that the WlanPhyImplNotify is not

supported. Some possible error codes are:

ZX_ERR_NOT_SUPPORTED: The WlanPhyImpl server does not support the WlanPhyImplNotify protocol.

void GetSupportedMacRoles (fdf::Arena & arena, GetSupportedMacRolesCompleter::Sync & completer)

MAC roles supported for ifaces on the physical device.

void CreateIface (::fuchsia_wlan_phyimpl::wire::WlanPhyImplCreateIfaceRequest * request, fdf::Arena & arena, CreateIfaceCompleter::Sync & completer)

Create a new interface with the specified role, returning the interface id.

\

/// Some common error codes are:

\

/// ZX_ERR_NO_RESOURCES: maximum number of interfaces have already been created.

\

/// ZX_ERR_NOT_SUPPORTED: device does not support the specified role.

void DestroyIface (::fuchsia_wlan_phyimpl::wire::WlanPhyImplDestroyIfaceRequest * request, fdf::Arena & arena, DestroyIfaceCompleter::Sync & completer)

Destroy the interface with the matching id.

\

/// Some common error codes are:

\

/// ZX_ERR_NOT_FOUND: Specified iface does not exist or has already been removed.

\

/// ZX_ERR_SHOULD_WAIT: Device is busy and cannot be removed, try again later.

void SetCountry (::fuchsia_wlan_phyimpl::wire::WlanPhyCountry * request, fdf::Arena & arena, SetCountryCompleter::Sync & completer)

Set country with a WlanPhyCountry.

\

/// Some common error codes are:

\

/// ZX_ERR_NOT_FOUND: Specified country code not supported. PHY state is left unchanged.

void ClearCountry (fdf::Arena & arena, ClearCountryCompleter::Sync & completer)

Set device to a world-safe country, i.e. a mode that conforms to all

regulatory constraints globally.

\

/// Generally expected to succeed if the device is in a functional state.

void GetCountry (fdf::Arena & arena, GetCountryCompleter::Sync & completer)

Read currently configured country. Implementations are advised to read the

country directly from the firmware, where possible.

\

/// Generally expected to succeed if the device is in a functional state.

void SetPowerSaveMode (::fuchsia_wlan_phyimpl::wire::WlanPhyImplSetPowerSaveModeRequest * request, fdf::Arena & arena, SetPowerSaveModeCompleter::Sync & completer)

Set Power Save mode on device. In most implementations this

likely to be set in Firmware.

\

/// Some common error codes are:

\

/// ZX_ERR_NOT_SUPPORTED: Specified Power Save mode not supported.

void GetPowerSaveMode (fdf::Arena & arena, GetPowerSaveModeCompleter::Sync & completer)

Get current Power Save mode from device. In most implementation this

likely to be retrieved from Firmware.

void PowerDown (fdf::Arena & arena, PowerDownCompleter::Sync & completer)

Power up/down/reset the wlan chip.

If supported, PowerDown will power down the wlan chip if it is currently powered on.

Any existing interfaces should have already been deleted before making this call or else the

driver will fail the call with error code ZX_ERR_INTERNAL.

Other possible error codes are:

\

/// ZX_ERR_NOT_SUPPORTED: the feature is not supported by the driver.

ZX_ERR_BAD_STATE: the wlan chip is already powered down.

void PowerUp (fdf::Arena & arena, PowerUpCompleter::Sync & completer)

If supported, PowerUp will power up the wlan chip if it is currently powered down.

Possible error codes are:

\

/// ZX_ERR_NOT_SUPPORTED: the feature is not supported by the driver.

ZX_ERR_BAD_STATE: the wlan chip is already powered up.

void Reset (fdf::Arena & arena, ResetCompleter::Sync & completer)

If supported, Reset functionality implements PowerDown then PowerUp in an attempt to

recover from an error state. For example, if an interface gets into a bad state or if

firmware crashes, the firmware/chip may be unable to perform some actions and Reset

may be able to clear the bad state.

Possible error codes are:

\

/// ZX_ERR_NOT_SUPPORTED: the feature is not supported by the driver.

void GetPowerState (fdf::Arena & arena, GetPowerStateCompleter::Sync & completer)

Returns the current power state of the wlan chip. After successful initialization

of the wlan driver, the state is set to true (power on) by default. power_on set to

true indicates that the wlan chip is powered on and false indicates the wlan chip

is powered off.

void SetBtCoexistenceMode (::fuchsia_wlan_phyimpl::wire::WlanPhyImplSetBtCoexistenceModeRequest * request, fdf::Arena & arena, SetBtCoexistenceModeCompleter::Sync & completer)

Set the Bluetooth coexistence mode.

Possible error codes are:

\

/// ZX_ERR_NOT_SUPPORTED: device does not support the specified BT coexistence mode.

void SetTxPowerScenario (::fuchsia_wlan_phyimpl::wire::WlanPhyImplSetTxPowerScenarioRequest * request, fdf::Arena & arena, SetTxPowerScenarioCompleter::Sync & completer)
void ResetTxPowerScenario (fdf::Arena & arena, ResetTxPowerScenarioCompleter::Sync & completer)
void GetTxPowerScenario (fdf::Arena & arena, GetTxPowerScenarioCompleter::Sync & completer)
void WireServer ()

Defined at line 3800 of file fidling/gen/sdk/fidl/fuchsia.wlan.phyimpl/fuchsia.wlan.phyimpl/cpp/fidl/fuchsia.wlan.phyimpl/cpp/driver/wire_messaging.h

Handler bind_handler (fdf_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 3801 of file fidling/gen/sdk/fidl/fuchsia.wlan.phyimpl/fuchsia.wlan.phyimpl/cpp/fidl/fuchsia.wlan.phyimpl/cpp/driver/wire_messaging.h