class ViewRefInstalled

Defined at line 2314 of file fidling/gen/sdk/fidl/fuchsia.ui.views/fuchsia.ui.views/hlcpp/fuchsia/ui/views/cpp/fidl.h

A method of enabling ViewRef holders to determine if a ViewRef has been

"installed" in the view tree: the time it is first connected, transitively,

to the root view. Typically, after installation, view focus may be

transferred to that ViewRef.

Note: It's important to distinguish between a ViewRef's installed status and

current connected-to-view-tree status. The former undergoes a state

change once, from "no" to "yes". The latter may change continuously,

depending on view tree topology. As such, "installed" cannot imply

"currently connected to view tree"; even a hypothetical

"ViewRefConnected" protocol is fundamentally racy.

Public Members

static const char[] Name_

Public Methods

void ~ViewRefInstalled ()
void Watch (::fuchsia::ui::views::ViewRef view_ref, WatchCallback callback)

Sets up a callback to fire when the requested |view_ref| is installed.

- If |view_ref| has not already been installed, the |Watch| response

will fire when it is.

- If |view_ref| has already been installed, the |Watch| response will

fire immediately.

- If |view_ref| is invalid, or becomes invalid (perhaps because the view

was destroyed), the |Watch| call returns with an error. The error is

not guaranteed to be immediate, but a ViewRef holder can itself

determine ViewRef validity by listening for ZX_EVENTPAIR_PEER_CLOSED.

Flow control: The caller is allowed multiple |Watch| calls on multiple

ViewRefs. There is at most one response per call back to the client.

Note: Prior to installation, this |Watch| call is kept alive as long as

the ViewRef is valid.