Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(874)

Side by Side Diff: device/hid/input_service_linux.h

Issue 2482463002: Remove DeviceMonitorLinux::WillDestroyCurrentMessageLoop(). (Closed)
Patch Set: CR achuithb #24 Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « device/hid/hid_service_linux.cc ('k') | device/hid/input_service_linux.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DEVICE_HID_INPUT_SERVICE_LINUX_H_ 5 #ifndef DEVICE_HID_INPUT_SERVICE_LINUX_H_
6 #define DEVICE_HID_INPUT_SERVICE_LINUX_H_ 6 #define DEVICE_HID_INPUT_SERVICE_LINUX_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 class Observer { 49 class Observer {
50 public: 50 public:
51 virtual ~Observer() {} 51 virtual ~Observer() {}
52 virtual void OnInputDeviceAdded(const InputDeviceInfo& info) = 0; 52 virtual void OnInputDeviceAdded(const InputDeviceInfo& info) = 0;
53 virtual void OnInputDeviceRemoved(const std::string& id) = 0; 53 virtual void OnInputDeviceRemoved(const std::string& id) = 0;
54 }; 54 };
55 55
56 InputServiceLinux(); 56 InputServiceLinux();
57 virtual ~InputServiceLinux(); 57 virtual ~InputServiceLinux();
58 58
59 // Returns the InputServiceLinux instance for the current process. Creates one
60 // if none has been set.
59 static InputServiceLinux* GetInstance(); 61 static InputServiceLinux* GetInstance();
62
63 // Returns true if an InputServiceLinux instance has been set for the current
64 // process. An instance is set on the first call to GetInstance() or
65 // SetForTesting().
60 static bool HasInstance(); 66 static bool HasInstance();
61 static void SetForTesting(InputServiceLinux* service); 67
68 // Sets the InputServiceLinux instance for the current process. Cannot be
69 // called if GetInstance() or SetForTesting() has already been called in the
70 // current process. |service| will never be deleted.
71 static void SetForTesting(std::unique_ptr<InputServiceLinux> service);
62 72
63 void AddObserver(Observer* observer); 73 void AddObserver(Observer* observer);
64 void RemoveObserver(Observer* observer); 74 void RemoveObserver(Observer* observer);
65 75
66 // Returns list of all currently connected input/hid devices. 76 // Returns list of all currently connected input/hid devices.
67 virtual void GetDevices(std::vector<InputDeviceInfo>* devices); 77 virtual void GetDevices(std::vector<InputDeviceInfo>* devices);
68 78
69 // Returns an info about input device identified by |id|. When there're 79 // Returns an info about input device identified by |id|. When there're
70 // no input or hid device with such id, returns false and doesn't 80 // no input or hid device with such id, returns false and doesn't
71 // modify |info|. 81 // modify |info|.
72 bool GetDeviceInfo(const std::string& id, InputDeviceInfo* info) const; 82 bool GetDeviceInfo(const std::string& id, InputDeviceInfo* info) const;
73 83
74 protected: 84 protected:
75 void AddDevice(const InputDeviceInfo& info); 85 void AddDevice(const InputDeviceInfo& info);
76 void RemoveDevice(const std::string& id); 86 void RemoveDevice(const std::string& id);
77 87
78 bool CalledOnValidThread() const; 88 bool CalledOnValidThread() const;
79 89
80 DeviceMap devices_; 90 DeviceMap devices_;
81 base::ObserverList<Observer> observers_; 91 base::ObserverList<Observer> observers_;
82 92
83 private: 93 private:
84 friend std::default_delete<InputServiceLinux>;
85
86 base::ThreadChecker thread_checker_; 94 base::ThreadChecker thread_checker_;
87 95
88 DISALLOW_COPY_AND_ASSIGN(InputServiceLinux); 96 DISALLOW_COPY_AND_ASSIGN(InputServiceLinux);
89 }; 97 };
90 98
91 } // namespace device 99 } // namespace device
92 100
93 #endif // DEVICE_HID_INPUT_SERVICE_LINUX_H_ 101 #endif // DEVICE_HID_INPUT_SERVICE_LINUX_H_
OLDNEW
« no previous file with comments | « device/hid/hid_service_linux.cc ('k') | device/hid/input_service_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698