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

Side by Side Diff: ui/events/ozone/device/udev/device_manager_udev.h

Issue 291473002: ozone: Initialize a subsystem only if necessary. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tot-merge-r270817 Created 6 years, 7 months 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 | Annotate | Revision Log
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 UI_EVENTS_OZONE_DEVICE_UDEV_DEVICE_MANAGER_UDEV_H_ 5 #ifndef UI_EVENTS_OZONE_DEVICE_UDEV_DEVICE_MANAGER_UDEV_H_
6 #define UI_EVENTS_OZONE_DEVICE_UDEV_DEVICE_MANAGER_UDEV_H_ 6 #define UI_EVENTS_OZONE_DEVICE_UDEV_DEVICE_MANAGER_UDEV_H_
7 7
8 #include "base/message_loop/message_pump_libevent.h" 8 #include "base/message_loop/message_pump_libevent.h"
9 #include "base/observer_list.h" 9 #include "base/observer_list.h"
10 #include "ui/events/ozone/device/device_manager.h" 10 #include "ui/events/ozone/device/device_manager.h"
11 #include "ui/events/ozone/device/udev/scoped_udev.h" 11 #include "ui/events/ozone/device/udev/scoped_udev.h"
12 12
13 namespace ui { 13 namespace ui {
14 14
15 class DeviceEvent; 15 class DeviceEvent;
16 class DeviceEventObserver; 16 class DeviceEventObserver;
17 17
18 class DeviceManagerUdev 18 class DeviceManagerUdev
19 : public DeviceManager, base::MessagePumpLibevent::Watcher { 19 : public DeviceManager, base::MessagePumpLibevent::Watcher {
20 public: 20 public:
21 DeviceManagerUdev(); 21 DeviceManagerUdev();
22 virtual ~DeviceManagerUdev(); 22 virtual ~DeviceManagerUdev();
23 23
24 private: 24 private:
25 scoped_ptr<DeviceEvent> ProcessMessage(udev_device* device); 25 scoped_ptr<DeviceEvent> ProcessMessage(udev_device* device);
26 26
27 // Creates a device-monitor to look for device add/remove/change events.
28 void CreateMonitor();
29
27 // DeviceManager overrides: 30 // DeviceManager overrides:
28 virtual void ScanDevices(DeviceEventObserver* observer) OVERRIDE; 31 virtual void ScanDevices(DeviceEventObserver* observer) OVERRIDE;
29 virtual void AddObserver(DeviceEventObserver* observer) OVERRIDE; 32 virtual void AddObserver(DeviceEventObserver* observer) OVERRIDE;
30 virtual void RemoveObserver(DeviceEventObserver* observer) OVERRIDE; 33 virtual void RemoveObserver(DeviceEventObserver* observer) OVERRIDE;
31 34
32 // base::MessagePumpLibevent::Watcher overrides: 35 // base::MessagePumpLibevent::Watcher overrides:
33 virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE; 36 virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE;
34 virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE; 37 virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE;
35 38
36 scoped_udev udev_; 39 scoped_udev udev_;
37 scoped_udev_monitor monitor_; 40 scoped_udev_monitor monitor_;
38 41
39 base::MessagePumpLibevent::FileDescriptorWatcher controller_; 42 base::MessagePumpLibevent::FileDescriptorWatcher controller_;
40 43
41 ObserverList<DeviceEventObserver> observers_; 44 ObserverList<DeviceEventObserver> observers_;
42 45
43 DISALLOW_COPY_AND_ASSIGN(DeviceManagerUdev); 46 DISALLOW_COPY_AND_ASSIGN(DeviceManagerUdev);
44 }; 47 };
45 48
46 } // namespace ui 49 } // namespace ui
47 50
48 #endif // UI_EVENTS_OZONE_DEVICE_UDEV_DEVICE_MANAGER_UDEV_H_ 51 #endif // UI_EVENTS_OZONE_DEVICE_UDEV_DEVICE_MANAGER_UDEV_H_
OLDNEW
« no previous file with comments | « ui/base/cursor/ozone/cursor_factory_ozone.cc ('k') | ui/events/ozone/device/udev/device_manager_udev.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698