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

Side by Side Diff: ui/events/ozone/evdev/scoped_udev.h

Issue 250793005: Refactor Udev device support in Ozone and add a DRM hotplug monitor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . 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
« no previous file with comments | « ui/events/ozone/evdev/event_factory_evdev.cc ('k') | ui/ozone/ozone.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef UI_EVENTS_OZONE_EVDEV_SCOPED_UDEV_H_
6 #define UI_EVENTS_OZONE_EVDEV_SCOPED_UDEV_H_
7
8 #include <libudev.h>
9
10 #include "base/memory/scoped_ptr.h"
11
12 // This file enables management of udev object references using scoped_ptr<> by
13 // associating a custom deleter that drops the reference rather than deleting.
14
15 namespace ui {
16
17 // Scoped struct udev.
18 struct UdevDeleter {
19 void operator()(struct udev* udev) { udev_unref(udev); }
20 };
21 typedef scoped_ptr<struct udev, UdevDeleter> scoped_udev;
22
23 // Scoped struct udev_device.
24 struct UdevDeviceDeleter {
25 void operator()(struct udev_device* udev_device) {
26 udev_device_unref(udev_device);
27 }
28 };
29 typedef scoped_ptr<struct udev_device, UdevDeviceDeleter> scoped_udev_device;
30
31 // Scoped struct udev_enumerate.
32 struct UdevEnumerateDeleter {
33 void operator()(struct udev_enumerate* udev_enumerate) {
34 udev_enumerate_unref(udev_enumerate);
35 }
36 };
37 typedef scoped_ptr<struct udev_enumerate, UdevEnumerateDeleter>
38 scoped_udev_enumerate;
39
40 // Scoped struct udev_monitor.
41 struct UdevMonitorDeleter {
42 void operator()(struct udev_monitor* udev_monitor) {
43 udev_monitor_unref(udev_monitor);
44 }
45 };
46 typedef scoped_ptr<struct udev_monitor, UdevMonitorDeleter> scoped_udev_monitor;
47
48 } // namespace ui
49
50 #endif // UI_EVENTS_OZONE_EVDEV_SCOPED_UDEV_H_
OLDNEW
« no previous file with comments | « ui/events/ozone/evdev/event_factory_evdev.cc ('k') | ui/ozone/ozone.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698