| Index: device/udev_linux/scoped_udev.h
|
| diff --git a/device/udev_linux/scoped_udev.h b/device/udev_linux/scoped_udev.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..06e3926025418562a673e985de136c0edbc46965
|
| --- /dev/null
|
| +++ b/device/udev_linux/scoped_udev.h
|
| @@ -0,0 +1,45 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef DEVICE_UDEV_LINUX_SCOPED_UDEV_H_
|
| +#define DEVICE_UDEV_LINUX_SCOPED_UDEV_H_
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "device/udev_linux/udev.h"
|
| +
|
| +#if !defined(USE_UDEV)
|
| +#error "USE_UDEV not defined"
|
| +#endif
|
| +
|
| +namespace device {
|
| +
|
| +struct UdevDeleter {
|
| + void operator()(udev* dev) const {
|
| + udev_unref(dev);
|
| + }
|
| +};
|
| +struct UdevEnumerateDeleter {
|
| + void operator()(udev_enumerate* enumerate) const {
|
| + udev_enumerate_unref(enumerate);
|
| + }
|
| +};
|
| +struct UdevDeviceDeleter {
|
| + void operator()(udev_device* device) const {
|
| + udev_device_unref(device);
|
| + }
|
| +};
|
| +struct UdevMonitorDeleter {
|
| + void operator()(udev_monitor* monitor) const {
|
| + udev_monitor_unref(monitor);
|
| + }
|
| +};
|
| +
|
| +typedef scoped_ptr<udev, UdevDeleter> ScopedUdevPtr;
|
| +typedef scoped_ptr<udev_enumerate, UdevEnumerateDeleter> ScopedUdevEnumeratePtr;
|
| +typedef scoped_ptr<udev_device, UdevDeviceDeleter> ScopedUdevDevicePtr;
|
| +typedef scoped_ptr<udev_monitor, UdevMonitorDeleter> ScopedUdevMonitorPtr;
|
| +
|
| +} // namespace device
|
| +
|
| +#endif // DEVICE_UDEV_LINUX_SCOPED_UDEV_H_
|
|
|