146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file.
446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include <libudev.h>
646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "device/udev_linux/udev.h"
846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace device {
1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void UdevDeleter::operator()(udev* dev) const {
1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  udev_unref(dev);
1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void UdevEnumerateDeleter::operator()(udev_enumerate* enumerate) const {
1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  udev_enumerate_unref(enumerate);
1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void UdevDeviceDeleter::operator()(udev_device* device) const {
2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  udev_device_unref(device);
2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void UdevMonitorDeleter::operator()(udev_monitor* monitor) const {
2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  udev_monitor_unref(monitor);
2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}  // namespace device
28