pub struct GraphicalPresenterSynchronousProxy { /* private fields */ }
Implementations§
source§impl GraphicalPresenterSynchronousProxy
impl GraphicalPresenterSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
sourcepub fn wait_for_event(
&self,
deadline: Time
) -> Result<GraphicalPresenterEvent, Error>
pub fn wait_for_event( &self, deadline: Time ) -> Result<GraphicalPresenterEvent, 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 present_view(
&self,
view_spec: ViewSpec,
annotation_controller: Option<ClientEnd<AnnotationControllerMarker>>,
view_controller_request: Option<ServerEnd<ViewControllerMarker>>,
___deadline: Time
) -> Result<GraphicalPresenterPresentViewResult, Error>
pub fn present_view( &self, view_spec: ViewSpec, annotation_controller: Option<ClientEnd<AnnotationControllerMarker>>, view_controller_request: Option<ServerEnd<ViewControllerMarker>>, ___deadline: Time ) -> Result<GraphicalPresenterPresentViewResult, Error>
Presents the view described by view_spec
.
If view_controller_request
is provided, it will be connected to a ViewController
implemented by the GraphicalPresenter
server. When the view is dismissed,
the ViewController
channel is closed with a ZX_OK
, at which point it is safe
to clean up resources backing the view. To dismiss the view, the client should
call ViewController.Dismiss()
and wait for the ZX_OK
epitaph.
Not providing a view_controller_request
handle will make it impossible for the
client to observe the view’s lifecycle.
view_spec
describes the view to presentannotation_controller
a handle to anAnnotationController
, allowing theGraphicalPresenter
server to observe and update the view’s annotations.view_controller_request
an optional request for a controller for the view
- error
view_spec
must containview_holder_token
andview_ref
for Gfx views, ORviewport_creation_token
for Flatland views, but never both. If both are set, errorPresentViewError.INVALID_ARGS
is returned. - error
PresentViewError.INVALID_ARGS
ifspec.view_holder_token
orspec.view_ref
are missing or invalid.