blob: a028ab2af20e6ff3488c34c7ec44740e746c7f27 [file] [log] [blame]
Ken Rockotb5c17ad2014-07-21 12:56:05 -07001// Copyright 2014 The Chromium OS 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 PERMISSION_BROKER_UDEV_SCOPERS_H_
6#define PERMISSION_BROKER_UDEV_SCOPERS_H_
7
8#include <libudev.h>
9
10#include "base/memory/scoped_ptr.h"
11
12namespace permission_broker {
13
14struct UdevDeleter {
15 void operator()(udev* udev) const;
16};
17
18struct UdevEnumerateDeleter {
19 void operator()(udev_enumerate* enumerate) const;
20};
21
22struct UdevDeviceDeleter {
23 void operator()(udev_device* device) const;
24};
25
26typedef scoped_ptr<udev, UdevDeleter> ScopedUdevPtr;
27typedef scoped_ptr<udev_enumerate, UdevEnumerateDeleter> ScopedUdevEnumeratePtr;
28typedef scoped_ptr<udev_device, UdevDeviceDeleter> ScopedUdevDevicePtr;
29
30} // namespace permission_broker
31
32#endif // PERMISSION_BROKER_UDEV_SCOPERS_H_