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