Mir
mir_input_config.h
Go to the documentation of this file.
1 
19 #ifndef MIR_INPUT_INPUT_CONFIGURATION_H
20 #define MIR_INPUT_INPUT_CONFIGURATION_H
21 
24 
25 #include <memory>
26 #include <vector>
27 #include <string>
28 #include <iosfwd>
29 
30 struct MirPointerConfig;
31 struct MirTouchpadConfig;
32 struct MirKeyboardConfig;
34 
36 {
37 public:
39  MirInputDevice(MirInputDeviceId id, mir::input::DeviceCapabilities caps, std::string const& name, std::string const& unique_id);
41  MirInputDevice(MirInputDevice const& conf);
44 
45  MirInputDeviceId id() const;
47  std::string const& name() const;
48  std::string const& unique_id() const;
49 
50  bool has_touchpad_config() const;
52  MirTouchpadConfig const& touchpad_config() const;
53  void set_touchpad_config(MirTouchpadConfig const& conf);
54 
55  bool has_keyboard_config() const;
57  MirKeyboardConfig const& keyboard_config() const;
58  void set_keyboard_config(MirKeyboardConfig const& conf);
59 
60  bool has_pointer_config() const;
62  MirPointerConfig const& pointer_config() const;
63  void set_pointer_config(MirPointerConfig const& conf);
64 
65  bool has_touchscreen_config() const;
69 
70  bool operator==(MirInputDevice const& rhs) const;
71  bool operator!=(MirInputDevice const& rhs) const;
72 private:
73  struct Implementation;
74  std::unique_ptr<Implementation> impl;
75 };
76 
78 {
79 public:
82  MirInputConfig(MirInputConfig const& conf);
84  ~MirInputConfig();
85 
86  void add_device_config(MirInputDevice const& conf);
87  MirInputDevice* get_device_config_by_id(MirInputDeviceId id);
88  MirInputDevice const* get_device_config_by_id(MirInputDeviceId id) const;
89  MirInputDevice& get_device_config_by_index(size_t pos);
90  MirInputDevice const& get_device_config_by_index(size_t pos) const;
91  void remove_device_by_id(MirInputDeviceId id);
92  size_t size() const;
93 
94  void for_each(std::function<void(MirInputDevice const&)> const& visitor) const;
95  void for_each(std::function<void(MirInputDevice &)> const& visitor);
96  bool operator==(MirInputConfig const& rhs) const;
97  bool operator!=(MirInputConfig const& rhs) const;
99 private:
100  struct Implementation;
101  std::unique_ptr<Implementation> impl;
102 };
103 
104 std::ostream& operator<<(std::ostream&, MirInputDevice const&);
105 std::ostream& operator<<(std::ostream&, MirInputConfig const&);
106 
107 #endif
MirPointerConfig & pointer_config()
std::string const & name() const
bool has_touchpad_config() const
Definition: mir_keyboard_config.h:33
Definition: mir_touchscreen_config.h:28
MirTouchscreenConfig & touchscreen_config()
std::ostream & operator<<(std::ostream &, MirInputDevice const &)
void set_keyboard_config(MirKeyboardConfig const &conf)
MirInputDevice & operator=(MirInputDevice const &conf)
mir::input::DeviceCapabilities capabilities() const
void set_pointer_config(MirPointerConfig const &conf)
MirInputDeviceId id() const
int64_t MirInputDeviceId
Definition: mir_input_device_types.h:31
bool has_touchscreen_config() const
void set_touchscreen_config(MirTouchscreenConfig const &conf)
bool has_keyboard_config() const
MirKeyboardConfig & keyboard_config()
bool operator==(MirInputDevice const &rhs) const
std::string const & unique_id() const
Definition: mir_pointer_config.h:29
bool operator!=(MirInputDevice const &rhs) const
void set_touchpad_config(MirTouchpadConfig const &conf)
MirTouchpadConfig & touchpad_config()
Definition: mir_touchpad_config.h:29
Definition: mir_input_config.h:77
struct MirInputConfig MirInputConfig
Definition: client_types.h:395
bool has_pointer_config() const
Definition: mir_input_config.h:35

Copyright © 2012-2016 Canonical Ltd.
Generated on Mon Jun 5 13:49:26 UTC 2017