Class Manager
Defined in File input-routing.h
Class Documentation
-
class Manager
Declaration:
finalThread-safe focus requests, independent of State mapping and capture.
The platform latches current() at the next poll. UI owners inspect routed immutable records in simulation; no widget is called on the platform thread.
Public Functions
-
Manager() = default
Create synchronized empty focus state.
Allocation may throw; no widget, capture channel or device mapping is owned.
-
Lease focus(TargetId target, KeyboardPolicy routing = KeyboardPolicy::Exclusive)
Declaration:
[[nodiscard]]Publish a new focus request atomically among producers.
Require nonzero target and known policy; invalid arguments/allocation failures throw. New epochs identify requests even when reusing a target; the platform latches current() for its next poll.
See also
-
inline std::shared_ptr<const Focus> current() const
Declaration:
[[nodiscard]]Atomically retain the current immutable request, or a nonnull empty Focus snapshot; does not latch an input poll itself.
-
inline void clear()
Clear ownership atomically without modifying capture activation, device mappings or records already published.
Outstanding old leases cannot restore ownership.
-
Manager() = default