Home | History | Annotate | Download | only in udev_linux
      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_
     39