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: MonotonicInstant,
) -> Result<ControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> 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 attach_client_view(
&self,
payload: ControllerAttachClientViewRequest,
___deadline: MonotonicInstant,
) -> Result<u64, Error>
pub fn attach_client_view( &self, payload: ControllerAttachClientViewRequest, ___deadline: MonotonicInstant, ) -> Result<u64, Error>
*** NOTE: ViewProvider
is no longer the preferred way for a parent
and child view to agree on a ViewportCreationToken / ViewCreationToken
pair. Flatland-based clients are encouraged to use PresentView
(below)
instead of AttachClientView
.
Elicits the server to request a view using the
fuchsia.ui.app.ViewProvider
handle provided, and attach it to the
scene.
RETURN VALUE
This method returns the KOID for the client view’s ViewRef
.
SYNCHRONIZATION
This call returns as soon as the client ViewRef
is available. Note
that this signal does NOT necessarily indicate that the view has been
attached to the scene.
LIFE CYCLE
Clients may drop the Controller
connection once AttachClientView
has
returned.
Sourcepub fn present_client_view(
&self,
payload: ControllerPresentClientViewRequest,
) -> Result<(), Error>
pub fn present_client_view( &self, payload: ControllerPresentClientViewRequest, ) -> Result<(), Error>
Elicits the server to create a viewport using viewport_creation_token
.
LIFE CYCLE
Clients may drop the Controller
connection once PresentClientView
has
returned.
Sourcepub fn register_view_tree_watcher(
&self,
watcher: ServerEnd<ViewTreeWatcherMarker>,
___deadline: MonotonicInstant,
) -> Result<(), Error>
pub fn register_view_tree_watcher( &self, watcher: ServerEnd<ViewTreeWatcherMarker>, ___deadline: MonotonicInstant, ) -> Result<(), Error>
Registers a ViewTreeWatcher
on the client’s behalf.
The ViewTreeWatcher
registered on behalf of the client will currently
be scoped globally; we intend to restrict the scope to the client view’s
subtree as soon as it’s feasible to do so.
For more information on geometry observation, see the documentation in //sdk/fidl/fuchsia.ui.observation.geometry/watcher.fidl.
Sourcepub fn watch_view_presentation(
&self,
___deadline: MonotonicInstant,
) -> Result<(), Error>
pub fn watch_view_presentation( &self, ___deadline: MonotonicInstant, ) -> Result<(), Error>
A hanging get to watch for updates to view presentation.
Callers can use this method to wait until a ClientView
has
Present()
-ed through any of the following view presentation methods:
fuchsia.ui.test.scene.Controller/AttachClientView()
fuchsia.ui.test.scene.Controller/PresentClientView()
fuchsia.element.GraphicalPresenter/PresentView()
Callers should expect to call this method once for each view they expect to wait for.
Note that callers must take care when interleaving calls, since
this method has no way to
a) associate a Present()
with a specific ClientView
, or
b) associate a Present()
with an AttachClientView()
call, rather
than a PresentClientView()
or PresentView
call.
It is invalid to call WatchViewPresentation
while a previous call is
still pending; subsequent requests will be ignored.
Trait Implementations§
Source§impl Debug for ControllerSynchronousProxy
impl Debug for ControllerSynchronousProxy
Source§impl SynchronousProxy for ControllerSynchronousProxy
impl SynchronousProxy for ControllerSynchronousProxy
Source§type Proxy = ControllerProxy
type Proxy = ControllerProxy
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
Proxy
controls.