pub enum ControllerRequest {
AttachClientView {
payload: ControllerAttachClientViewRequest,
responder: ControllerAttachClientViewResponder,
},
PresentClientView {
payload: ControllerPresentClientViewRequest,
control_handle: ControllerControlHandle,
},
RegisterViewTreeWatcher {
watcher: ServerEnd<ViewTreeWatcherMarker>,
responder: ControllerRegisterViewTreeWatcherResponder,
},
WatchViewPresentation {
responder: ControllerWatchViewPresentationResponder,
},
}
Expand description
Controls a UI test scene. Allows a test to attach test Views to the scene and add View-related instrumentation.
Variants§
AttachClientView
*** 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.
PresentClientView
Elicits the server to create a viewport using viewport_creation_token
.
LIFE CYCLE
Clients may drop the Controller
connection once PresentClientView
has
returned.
RegisterViewTreeWatcher
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.
Fields
watcher: ServerEnd<ViewTreeWatcherMarker>
responder: ControllerRegisterViewTreeWatcherResponder
WatchViewPresentation
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.
Fields
responder: ControllerWatchViewPresentationResponder
Implementations§
Source§impl ControllerRequest
impl ControllerRequest
pub fn into_attach_client_view( self, ) -> Option<(ControllerAttachClientViewRequest, ControllerAttachClientViewResponder)>
pub fn into_present_client_view( self, ) -> Option<(ControllerPresentClientViewRequest, ControllerControlHandle)>
pub fn into_register_view_tree_watcher( self, ) -> Option<(ServerEnd<ViewTreeWatcherMarker>, ControllerRegisterViewTreeWatcherResponder)>
pub fn into_watch_view_presentation( self, ) -> Option<ControllerWatchViewPresentationResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL