pub enum ViewRefInstalledRequest {
Watch {
view_ref: ViewRef,
responder: ViewRefInstalledWatchResponder,
},
}
Expand description
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.
Variants§
Watch
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.
Implementations§
Source§impl ViewRefInstalledRequest
impl ViewRefInstalledRequest
pub fn into_watch(self) -> Option<(ViewRef, ViewRefInstalledWatchResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL