pub struct ControllerSynchronousProxy { /* private fields */ }
Implementations§
source§impl ControllerSynchronousProxy
impl ControllerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
sourcepub fn wait_for_event(
&self,
deadline: MonotonicTime,
) -> Result<ControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicTime, ) -> Result<ControllerEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
sourcepub fn connect_to_device_fidl(&self, server: Channel) -> Result<(), Error>
pub fn connect_to_device_fidl(&self, server: Channel) -> Result<(), Error>
Connect to the underlying device’s FIDL protocol. This connection will not be multiplexed with fuchsia.device.Controller or fuchsia.io.Node.
sourcepub fn connect_to_controller(
&self,
server: ServerEnd<ControllerMarker>,
) -> Result<(), Error>
pub fn connect_to_controller( &self, server: ServerEnd<ControllerMarker>, ) -> Result<(), Error>
Connect to the same Controller FIDL protocol.
sourcepub fn bind(
&self,
driver: &str,
___deadline: MonotonicTime,
) -> Result<ControllerBindResult, Error>
pub fn bind( &self, driver: &str, ___deadline: MonotonicTime, ) -> Result<ControllerBindResult, Error>
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.
sourcepub fn rebind(
&self,
driver: &str,
___deadline: MonotonicTime,
) -> Result<ControllerRebindResult, Error>
pub fn rebind( &self, driver: &str, ___deadline: MonotonicTime, ) -> Result<ControllerRebindResult, Error>
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.
sourcepub fn unbind_children(
&self,
___deadline: MonotonicTime,
) -> Result<ControllerUnbindChildrenResult, Error>
pub fn unbind_children( &self, ___deadline: MonotonicTime, ) -> Result<ControllerUnbindChildrenResult, Error>
This api will unbind all the children of this device synchronously. This will avoid watching for device removal by the clients.
sourcepub fn schedule_unbind(
&self,
___deadline: MonotonicTime,
) -> Result<ControllerScheduleUnbindResult, Error>
pub fn schedule_unbind( &self, ___deadline: MonotonicTime, ) -> Result<ControllerScheduleUnbindResult, Error>
Disconnect this device and allow its parent to be bound again. This may not complete before it returns.
sourcepub fn get_topological_path(
&self,
___deadline: MonotonicTime,
) -> Result<ControllerGetTopologicalPathResult, Error>
pub fn get_topological_path( &self, ___deadline: MonotonicTime, ) -> Result<ControllerGetTopologicalPathResult, Error>
Return the topological path for this device
Trait Implementations§
source§impl Debug for ControllerSynchronousProxy
impl Debug for ControllerSynchronousProxy
source§impl SynchronousProxy for ControllerSynchronousProxy
impl SynchronousProxy for ControllerSynchronousProxy
§type Proxy = ControllerProxy
type Proxy = ControllerProxy
§type Protocol = ControllerMarker
type Protocol = ControllerMarker
Proxy
controls.