20 #ifndef MIR_GRAPHICS_NESTED_INPUT_PLATFORM_H_ 21 #define MIR_GRAPHICS_NESTED_INPUT_PLATFORM_H_ 29 #include <unordered_map> 37 class InputDeviceRegistry;
48 InputPlatform(std::shared_ptr<HostConnection>
const& connection,
49 std::shared_ptr<input::InputDeviceRegistry>
const& input_device_registry,
50 std::shared_ptr<input::InputReport>
const& report);
51 std::shared_ptr<mir::dispatch::Dispatchable> dispatchable()
override;
52 void start()
override;
56 void update_devices();
57 void update_devices_locked();
59 std::shared_ptr<HostConnection>
const connection;
60 std::shared_ptr<input::InputDeviceRegistry>
const input_device_registry;
61 std::shared_ptr<input::InputReport>
const report;
62 std::shared_ptr<dispatch::ActionQueue>
const action_queue;
63 std::mutex devices_guard;
66 using EventUPtr = std::unique_ptr<MirEvent, void(*)(MirEvent*)>;
67 std::unordered_map<MirInputDeviceId, std::shared_ptr<InputDevice>> devices;
68 std::unordered_map<MirInputDeviceId, std::vector<std::pair<EventUPtr, mir::geometry::Rectangle>>>
69 unknown_device_events;
All things Mir.
Definition: atomic_callback.h:25
std::unique_ptr< MirInputConfig, void(*)(MirInputConfig const *)> UniqueInputConfig
Definition: host_connection.h:40
std::promise< bool > stop
Definition: in.cpp:28