blob: 027f1c82c48f2fecad3f44ff8e7115f290d89003 [file] [log] [blame]
thestigee816c272014-11-22 02:47:511// 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#include "device/udev_linux/udev0_loader.h"
6
7#include "library_loaders/libudev0.h"
8
9namespace device {
10
Chris Watkins52eb86892017-11-30 06:52:2611Udev0Loader::Udev0Loader() = default;
thestigee816c272014-11-22 02:47:5112
Chris Watkins52eb86892017-11-30 06:52:2613Udev0Loader::~Udev0Loader() = default;
thestigee816c272014-11-22 02:47:5114
15bool Udev0Loader::Init() {
16 if (lib_loader_)
17 return lib_loader_->loaded();
18 lib_loader_.reset(new LibUdev0Loader);
19 return lib_loader_->Load("libudev.so.0");
thestigee816c272014-11-22 02:47:5120}
21
22const char* Udev0Loader::udev_device_get_action(udev_device* udev_device) {
23 return lib_loader_->udev_device_get_action(udev_device);
24}
25
26const char* Udev0Loader::udev_device_get_devnode(udev_device* udev_device) {
27 return lib_loader_->udev_device_get_devnode(udev_device);
28}
29
30udev_device* Udev0Loader::udev_device_get_parent(udev_device* udev_device) {
31 return lib_loader_->udev_device_get_parent(udev_device);
32}
33
34udev_device* Udev0Loader::udev_device_get_parent_with_subsystem_devtype(
35 udev_device* udev_device,
36 const char* subsystem,
37 const char* devtype) {
38 return lib_loader_->udev_device_get_parent_with_subsystem_devtype(
39 udev_device, subsystem, devtype);
40}
41
42const char* Udev0Loader::udev_device_get_property_value(
43 udev_device* udev_device,
44 const char* key) {
45 return lib_loader_->udev_device_get_property_value(udev_device, key);
46}
47
48const char* Udev0Loader::udev_device_get_subsystem(udev_device* udev_device) {
49 return lib_loader_->udev_device_get_subsystem(udev_device);
50}
51
52const char* Udev0Loader::udev_device_get_sysattr_value(udev_device* udev_device,
53 const char* sysattr) {
54 return lib_loader_->udev_device_get_sysattr_value(udev_device, sysattr);
55}
56
57const char* Udev0Loader::udev_device_get_sysname(udev_device* udev_device) {
58 return lib_loader_->udev_device_get_sysname(udev_device);
59}
60
61const char* Udev0Loader::udev_device_get_syspath(udev_device* udev_device) {
62 return lib_loader_->udev_device_get_syspath(udev_device);
63}
64
65udev_device* Udev0Loader::udev_device_new_from_devnum(udev* udev,
66 char type,
67 dev_t devnum) {
68 return lib_loader_->udev_device_new_from_devnum(udev, type, devnum);
69}
70
agoodecb20a4952015-03-03 16:33:3671udev_device* Udev0Loader::udev_device_new_from_subsystem_sysname(
72 udev* udev,
73 const char* subsystem,
74 const char* sysname) {
75 return lib_loader_->udev_device_new_from_subsystem_sysname(
76 udev, subsystem, sysname);
77}
78
thestigee816c272014-11-22 02:47:5179udev_device* Udev0Loader::udev_device_new_from_syspath(udev* udev,
80 const char* syspath) {
81 return lib_loader_->udev_device_new_from_syspath(udev, syspath);
82}
83
84void Udev0Loader::udev_device_unref(udev_device* udev_device) {
85 lib_loader_->udev_device_unref(udev_device);
86}
87
88int Udev0Loader::udev_enumerate_add_match_subsystem(
89 udev_enumerate* udev_enumerate,
90 const char* subsystem) {
91 return lib_loader_->udev_enumerate_add_match_subsystem(udev_enumerate,
92 subsystem);
93}
94
95udev_list_entry* Udev0Loader::udev_enumerate_get_list_entry(
96 udev_enumerate* udev_enumerate) {
97 return lib_loader_->udev_enumerate_get_list_entry(udev_enumerate);
98}
99
100udev_enumerate* Udev0Loader::udev_enumerate_new(udev* udev) {
101 return lib_loader_->udev_enumerate_new(udev);
102}
103
104int Udev0Loader::udev_enumerate_scan_devices(udev_enumerate* udev_enumerate) {
105 return lib_loader_->udev_enumerate_scan_devices(udev_enumerate);
106}
107
108void Udev0Loader::udev_enumerate_unref(udev_enumerate* udev_enumerate) {
109 lib_loader_->udev_enumerate_unref(udev_enumerate);
110}
111
112udev_list_entry* Udev0Loader::udev_list_entry_get_next(
113 udev_list_entry* list_entry) {
114 return lib_loader_->udev_list_entry_get_next(list_entry);
115}
116
117const char* Udev0Loader::udev_list_entry_get_name(udev_list_entry* list_entry) {
118 return lib_loader_->udev_list_entry_get_name(list_entry);
119}
120
121int Udev0Loader::udev_monitor_enable_receiving(udev_monitor* udev_monitor) {
122 return lib_loader_->udev_monitor_enable_receiving(udev_monitor);
123}
124
125int Udev0Loader::udev_monitor_filter_add_match_subsystem_devtype(
126 udev_monitor* udev_monitor,
127 const char* subsystem,
128 const char* devtype) {
129 return lib_loader_->udev_monitor_filter_add_match_subsystem_devtype(
130 udev_monitor, subsystem, devtype);
131}
132
133int Udev0Loader::udev_monitor_get_fd(udev_monitor* udev_monitor) {
134 return lib_loader_->udev_monitor_get_fd(udev_monitor);
135}
136
137udev_monitor* Udev0Loader::udev_monitor_new_from_netlink(udev* udev,
138 const char* name) {
139 return lib_loader_->udev_monitor_new_from_netlink(udev, name);
140}
141
142udev_device* Udev0Loader::udev_monitor_receive_device(
143 udev_monitor* udev_monitor) {
144 return lib_loader_->udev_monitor_receive_device(udev_monitor);
145}
146
147void Udev0Loader::udev_monitor_unref(udev_monitor* udev_monitor) {
148 lib_loader_->udev_monitor_unref(udev_monitor);
149}
150
151udev* Udev0Loader::udev_new() {
152 return lib_loader_->udev_new();
153}
154
155void Udev0Loader::udev_set_log_fn(
156 struct udev* udev,
157 void (*log_fn)(struct udev* udev, int priority,
158 const char* file, int line,
159 const char* fn, const char* format, va_list args)) {
160 return lib_loader_->udev_set_log_fn(udev, log_fn);
161}
162
163void Udev0Loader::udev_set_log_priority(struct udev* udev, int priority) {
164 return lib_loader_->udev_set_log_priority(udev, priority);
165}
166
167void Udev0Loader::udev_unref(udev* udev) {
168 lib_loader_->udev_unref(udev);
169}
170
171} // namespace device