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.

§

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.

Implementations§

Trait Implementations§

source§

impl Debug for ControllerRequest

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more