19 #ifndef MIR_INPUT_ANDROID_REGISTRAR_H_
20 #define MIR_INPUT_ANDROID_REGISTRAR_H_
26 #include <utils/StrongPointer.h>
34 class InputDispatcherInterface;
35 class InputWindowHandle;
54 class InputConfiguration;
60 explicit InputRegistrar(std::shared_ptr<mir::compositor::Scene>
const& scene);
63 virtual droidinput::sp<droidinput::InputWindowHandle>
handle_for_channel(std::shared_ptr<input::InputChannel const>
const& channel);
65 void set_dispatcher(std::shared_ptr<droidinput::InputDispatcherInterface>
const& dispatcher);
71 typedef std::function<void(mir::scene::Surface*)> SurfaceCallback;
72 SceneObserver(SurfaceCallback
const& add, SurfaceCallback
const&
remove);
76 void scene_changed()
override;
78 SurfaceCallback add,
remove;
81 std::weak_ptr<droidinput::InputDispatcherInterface> input_dispatcher;
83 std::map<std::shared_ptr<input::InputChannel const>, droidinput::sp<droidinput::InputWindowHandle>> window_handles;
85 std::mutex handles_mutex;
86 std::shared_ptr<compositor::Scene>
const scene;
87 std::shared_ptr<SceneObserver>
const observer;
94 #endif // MIR_INPUT_ANDROID_REGISTRAR_H_
All things Mir.
Definition: buffer_stream.h:37
Definition: null_observer.h:28
surface_removed
Definition: scene_report_tp.h:46
surface_added
Definition: scene_report_tp.h:41
Definition: android_input_receiver.h:32