Class Manager

Class Documentation

class Manager

Declaration: final

Thread-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.

Manager(const Manager&) = delete
Manager &operator=(const Manager&) = delete
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

Focus routing

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.