Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / device / udev_linux / udev.h
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 DEVICE_UDEV_LINUX_UDEV_H_
6 #define DEVICE_UDEV_LINUX_UDEV_H_
7
8 #include <libudev.h>
9
10 #include "base/memory/scoped_ptr.h"
11
12 #if !defined(USE_UDEV)
13 #error "USE_UDEV not defined"
14 #endif
15
16 namespace device {
17
18 struct UdevDeleter {
19   void operator()(udev* dev) const;
20 };
21 struct UdevEnumerateDeleter {
22   void operator()(udev_enumerate* enumerate) const;
23 };
24 struct UdevDeviceDeleter {
25   void operator()(udev_device* device) const;
26 };
27 struct UdevMonitorDeleter {
28   void operator()(udev_monitor* monitor) const;
29 };
30
31 typedef scoped_ptr<udev, UdevDeleter> ScopedUdevPtr;
32 typedef scoped_ptr<udev_enumerate, UdevEnumerateDeleter> ScopedUdevEnumeratePtr;
33 typedef scoped_ptr<udev_device, UdevDeviceDeleter> ScopedUdevDevicePtr;
34 typedef scoped_ptr<udev_monitor, UdevMonitorDeleter> ScopedUdevMonitorPtr;
35
36 }  // namespace device
37
38 #endif  // DEVICE_UDEV_LINUX_UDEV_H_