class Controller

Defined at line 1888 of file fidling/gen/sdk/fidl/fuchsia.device/fuchsia.device/hlcpp/fuchsia/device/cpp/fidl.h

Interface for manipulating a device in a devhost

# Deprecation

This interface is moving to fuchsia.device.fs.

Tracking bug: https://fxbug.dev/340316138

Please use that version of this protocol.

Also, see //sdk/fidl/fuchsia.device.fs/README.md

for future plans for DevFS.

Public Methods

void ~Controller ()
void ConnectToDeviceFidl (::zx::channel server)

Connect to the underlying device's FIDL protocol.

This connection will not be multiplexed with fuchsia.device.Controller

or fuchsia.io.Node.

void ConnectToController (::fidl::InterfaceRequest< ::fuchsia::device::Controller> server)

Connect to the same Controller FIDL protocol.

void Bind (::std::string driver, BindCallback callback)

Attempt to bind a driver to this device.

+ request `driver` This represents the suffix of a driver URL (e.g: "fvm.cm").

If this is non-empty, then the only drivers that will try to bind

are ones that match this url suffix.

void Rebind (::std::string driver, RebindCallback callback)

Unbind all the children of this device, and then attempt to bind a driver to the device.

This will not return until the bind completes.

+ request `driver` This represents the suffix of a driver URL (e.g: "fvm.cm").

If this is non-empty, then the only drivers that will try to bind

are ones that match this url suffix.

void UnbindChildren (UnbindChildrenCallback callback)

This api will unbind all the children of this device synchronously.

This will avoid watching for device removal by the clients.

void ScheduleUnbind (ScheduleUnbindCallback callback)

Disconnect this device and allow its parent to be bound again.

This may not complete before it returns.

void GetTopologicalPath (GetTopologicalPathCallback callback)

Return the topological path for this device