1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8 clippy::approx_constant,
9 clippy::type_complexity,
10 clippy::unreadable_literal,
11 clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gobject_sys as gobject;
17
18#[cfg(unix)]
19#[allow(unused_imports)]
20use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
21#[allow(unused_imports)]
22use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
23#[allow(unused_imports)]
24use std::ffi::{
25 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26};
27
28#[allow(unused_imports)]
29use glib::{gboolean, gconstpointer, gpointer, GType};
30
31pub type AstalBatteryBatteryLevel = c_int;
33pub const ASTAL_BATTERY_BATTERY_LEVEL_UNKNOWN: AstalBatteryBatteryLevel = 0;
34pub const ASTAL_BATTERY_BATTERY_LEVEL_NONE: AstalBatteryBatteryLevel = 1;
35pub const ASTAL_BATTERY_BATTERY_LEVEL_LOW: AstalBatteryBatteryLevel = 2;
36pub const ASTAL_BATTERY_BATTERY_LEVEL_CRITICIAL: AstalBatteryBatteryLevel = 3;
37pub const ASTAL_BATTERY_BATTERY_LEVEL_NORMAL: AstalBatteryBatteryLevel = 4;
38pub const ASTAL_BATTERY_BATTERY_LEVEL_HIGH: AstalBatteryBatteryLevel = 5;
39pub const ASTAL_BATTERY_BATTERY_LEVEL_FULL: AstalBatteryBatteryLevel = 6;
40
41pub type AstalBatteryState = c_int;
42pub const ASTAL_BATTERY_STATE_UNKNOWN: AstalBatteryState = 0;
43pub const ASTAL_BATTERY_STATE_CHARGING: AstalBatteryState = 1;
44pub const ASTAL_BATTERY_STATE_DISCHARGING: AstalBatteryState = 2;
45pub const ASTAL_BATTERY_STATE_EMPTY: AstalBatteryState = 3;
46pub const ASTAL_BATTERY_STATE_FULLY_CHARGED: AstalBatteryState = 4;
47pub const ASTAL_BATTERY_STATE_PENDING_CHARGE: AstalBatteryState = 5;
48pub const ASTAL_BATTERY_STATE_PENDING_DISCHARGE: AstalBatteryState = 6;
49
50pub type AstalBatteryTechnology = c_int;
51pub const ASTAL_BATTERY_TECHNOLOGY_UNKNOWN: AstalBatteryTechnology = 0;
52pub const ASTAL_BATTERY_TECHNOLOGY_LITHIUM_ION: AstalBatteryTechnology = 1;
53pub const ASTAL_BATTERY_TECHNOLOGY_LITHIUM_POLYMER: AstalBatteryTechnology = 2;
54pub const ASTAL_BATTERY_TECHNOLOGY_LITHIUM_IRON_PHOSPHATE: AstalBatteryTechnology = 3;
55pub const ASTAL_BATTERY_TECHNOLOGY_LEAD_ACID: AstalBatteryTechnology = 4;
56pub const ASTAL_BATTERY_TECHNOLOGY_NICKEL_CADMIUM: AstalBatteryTechnology = 5;
57pub const ASTAL_BATTERY_TECHNOLOGY_NICKEL_METAL_HYDRIDE: AstalBatteryTechnology = 6;
58
59pub type AstalBatteryType = c_int;
60pub const ASTAL_BATTERY_TYPE_UNKNOWN: AstalBatteryType = 0;
61pub const ASTAL_BATTERY_TYPE_LINE_POWER: AstalBatteryType = 1;
62pub const ASTAL_BATTERY_TYPE_BATTERY: AstalBatteryType = 2;
63pub const ASTAL_BATTERY_TYPE_UPS: AstalBatteryType = 3;
64pub const ASTAL_BATTERY_TYPE_MONITOR: AstalBatteryType = 4;
65pub const ASTAL_BATTERY_TYPE_MOUSE: AstalBatteryType = 5;
66pub const ASTAL_BATTERY_TYPE_KEYBOARD: AstalBatteryType = 6;
67pub const ASTAL_BATTERY_TYPE_PDA: AstalBatteryType = 7;
68pub const ASTAL_BATTERY_TYPE_PHONE: AstalBatteryType = 8;
69pub const ASTAL_BATTERY_TYPE_MEDIA_PLAYER: AstalBatteryType = 9;
70pub const ASTAL_BATTERY_TYPE_TABLET: AstalBatteryType = 10;
71pub const ASTAL_BATTERY_TYPE_COMPUTER: AstalBatteryType = 11;
72pub const ASTAL_BATTERY_TYPE_GAMING_INPUT: AstalBatteryType = 12;
73pub const ASTAL_BATTERY_TYPE_PEN: AstalBatteryType = 13;
74pub const ASTAL_BATTERY_TYPE_TOUCHPAD: AstalBatteryType = 14;
75pub const ASTAL_BATTERY_TYPE_MODEM: AstalBatteryType = 15;
76pub const ASTAL_BATTERY_TYPE_NETWORK: AstalBatteryType = 16;
77pub const ASTAL_BATTERY_TYPE_HEADSET: AstalBatteryType = 17;
78pub const ASTAL_BATTERY_TYPE_SPEAKERS: AstalBatteryType = 18;
79pub const ASTAL_BATTERY_TYPE_HEADPHONES: AstalBatteryType = 19;
80pub const ASTAL_BATTERY_TYPE_VIDEO: AstalBatteryType = 20;
81pub const ASTAL_BATTERY_TYPE_OTHER_AUDIO: AstalBatteryType = 21;
82pub const ASTAL_BATTERY_TYPE_REMOVE_CONTROL: AstalBatteryType = 22;
83pub const ASTAL_BATTERY_TYPE_PRINTER: AstalBatteryType = 23;
84pub const ASTAL_BATTERY_TYPE_SCANNER: AstalBatteryType = 24;
85pub const ASTAL_BATTERY_TYPE_CAMERA: AstalBatteryType = 25;
86pub const ASTAL_BATTERY_TYPE_WEARABLE: AstalBatteryType = 26;
87pub const ASTAL_BATTERY_TYPE_TOY: AstalBatteryType = 27;
88pub const ASTAL_BATTERY_TYPE_BLUETOOTH_GENERIC: AstalBatteryType = 28;
89
90pub type AstalBatteryWarningLevel = c_int;
91pub const ASTAL_BATTERY_WARNING_LEVEL_UNKNOWN: AstalBatteryWarningLevel = 0;
92pub const ASTAL_BATTERY_WARNING_LEVEL_NONE: AstalBatteryWarningLevel = 1;
93pub const ASTAL_BATTERY_WARNING_LEVEL_DISCHARGING: AstalBatteryWarningLevel = 2;
94pub const ASTAL_BATTERY_WARNING_LEVEL_LOW: AstalBatteryWarningLevel = 3;
95pub const ASTAL_BATTERY_WARNING_LEVEL_CRITICIAL: AstalBatteryWarningLevel = 4;
96pub const ASTAL_BATTERY_WARNING_LEVEL_ACTION: AstalBatteryWarningLevel = 5;
97
98pub const ASTAL_BATTERY_MAJOR_VERSION: c_int = 0;
100pub const ASTAL_BATTERY_MINOR_VERSION: c_int = 1;
101pub const ASTAL_BATTERY_MICRO_VERSION: c_int = 0;
102pub const ASTAL_BATTERY_VERSION: &[u8] = b"0.1.0\0";
103
104#[derive(Copy, Clone)]
106#[repr(C)]
107pub struct AstalBatteryDeviceClass {
108 pub parent_class: gobject::GObjectClass,
109}
110
111impl ::std::fmt::Debug for AstalBatteryDeviceClass {
112 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
113 f.debug_struct(&format!("AstalBatteryDeviceClass @ {self:p}"))
114 .finish()
115 }
116}
117
118#[repr(C)]
119#[allow(dead_code)]
120pub struct _AstalBatteryDevicePrivate {
121 _data: [u8; 0],
122 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
123}
124
125pub type AstalBatteryDevicePrivate = _AstalBatteryDevicePrivate;
126
127#[derive(Copy, Clone)]
128#[repr(C)]
129pub struct AstalBatteryUPowerClass {
130 pub parent_class: gobject::GObjectClass,
131}
132
133impl ::std::fmt::Debug for AstalBatteryUPowerClass {
134 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
135 f.debug_struct(&format!("AstalBatteryUPowerClass @ {self:p}"))
136 .finish()
137 }
138}
139
140#[repr(C)]
141#[allow(dead_code)]
142pub struct _AstalBatteryUPowerPrivate {
143 _data: [u8; 0],
144 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
145}
146
147pub type AstalBatteryUPowerPrivate = _AstalBatteryUPowerPrivate;
148
149#[derive(Copy, Clone)]
151#[repr(C)]
152pub struct AstalBatteryDevice {
153 pub parent_instance: gobject::GObject,
154 pub priv_: *mut AstalBatteryDevicePrivate,
155}
156
157impl ::std::fmt::Debug for AstalBatteryDevice {
158 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
159 f.debug_struct(&format!("AstalBatteryDevice @ {self:p}"))
160 .finish()
161 }
162}
163
164#[derive(Copy, Clone)]
165#[repr(C)]
166pub struct AstalBatteryUPower {
167 pub parent_instance: gobject::GObject,
168 pub priv_: *mut AstalBatteryUPowerPrivate,
169}
170
171impl ::std::fmt::Debug for AstalBatteryUPower {
172 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
173 f.debug_struct(&format!("AstalBatteryUPower @ {self:p}"))
174 .finish()
175 }
176}
177
178extern "C" {
179
180 pub fn astal_battery_battery_level_get_type() -> GType;
184
185 pub fn astal_battery_state_get_type() -> GType;
189
190 pub fn astal_battery_technology_get_type() -> GType;
194
195 pub fn astal_battery_type_get_type() -> GType;
199
200 pub fn astal_battery_warning_level_get_type() -> GType;
204
205 pub fn astal_battery_device_get_type() -> GType;
209 pub fn astal_battery_device_get_default() -> *mut AstalBatteryDevice;
210 pub fn astal_battery_device_new(
211 path: *const c_char,
212 error: *mut *mut glib::GError,
213 ) -> *mut AstalBatteryDevice;
214 pub fn astal_battery_device_get_device_type(self_: *mut AstalBatteryDevice)
215 -> AstalBatteryType;
216 pub fn astal_battery_device_get_native_path(self_: *mut AstalBatteryDevice) -> *mut c_char;
217 pub fn astal_battery_device_get_vendor(self_: *mut AstalBatteryDevice) -> *mut c_char;
218 pub fn astal_battery_device_get_model(self_: *mut AstalBatteryDevice) -> *mut c_char;
219 pub fn astal_battery_device_get_serial(self_: *mut AstalBatteryDevice) -> *mut c_char;
220 pub fn astal_battery_device_get_update_time(self_: *mut AstalBatteryDevice) -> u64;
221 pub fn astal_battery_device_get_power_supply(self_: *mut AstalBatteryDevice) -> gboolean;
222 pub fn astal_battery_device_get_online(self_: *mut AstalBatteryDevice) -> gboolean;
223 pub fn astal_battery_device_get_energy(self_: *mut AstalBatteryDevice) -> c_double;
224 pub fn astal_battery_device_get_energy_empty(self_: *mut AstalBatteryDevice) -> c_double;
225 pub fn astal_battery_device_get_energy_full(self_: *mut AstalBatteryDevice) -> c_double;
226 pub fn astal_battery_device_get_energy_full_design(self_: *mut AstalBatteryDevice) -> c_double;
227 pub fn astal_battery_device_get_energy_rate(self_: *mut AstalBatteryDevice) -> c_double;
228 pub fn astal_battery_device_get_voltage(self_: *mut AstalBatteryDevice) -> c_double;
229 pub fn astal_battery_device_get_charge_cycles(self_: *mut AstalBatteryDevice) -> c_int;
230 pub fn astal_battery_device_get_luminosity(self_: *mut AstalBatteryDevice) -> c_double;
231 pub fn astal_battery_device_get_time_to_empty(self_: *mut AstalBatteryDevice) -> i64;
232 pub fn astal_battery_device_get_time_to_full(self_: *mut AstalBatteryDevice) -> i64;
233 pub fn astal_battery_device_get_percentage(self_: *mut AstalBatteryDevice) -> c_double;
234 pub fn astal_battery_device_get_temperature(self_: *mut AstalBatteryDevice) -> c_double;
235 pub fn astal_battery_device_get_is_present(self_: *mut AstalBatteryDevice) -> gboolean;
236 pub fn astal_battery_device_get_state(self_: *mut AstalBatteryDevice) -> AstalBatteryState;
237 pub fn astal_battery_device_get_is_rechargable(self_: *mut AstalBatteryDevice) -> gboolean;
238 pub fn astal_battery_device_get_capacity(self_: *mut AstalBatteryDevice) -> c_double;
239 pub fn astal_battery_device_get_technology(
240 self_: *mut AstalBatteryDevice,
241 ) -> AstalBatteryTechnology;
242 pub fn astal_battery_device_get_warning_level(
243 self_: *mut AstalBatteryDevice,
244 ) -> AstalBatteryWarningLevel;
245 pub fn astal_battery_device_get_battery_level(
246 self_: *mut AstalBatteryDevice,
247 ) -> AstalBatteryBatteryLevel;
248 pub fn astal_battery_device_get_icon_name(self_: *mut AstalBatteryDevice) -> *mut c_char;
249 pub fn astal_battery_device_get_charging(self_: *mut AstalBatteryDevice) -> gboolean;
250 pub fn astal_battery_device_get_is_battery(self_: *mut AstalBatteryDevice) -> gboolean;
251 pub fn astal_battery_device_get_battery_icon_name(
252 self_: *mut AstalBatteryDevice,
253 ) -> *const c_char;
254 pub fn astal_battery_device_get_device_type_name(
255 self_: *mut AstalBatteryDevice,
256 ) -> *const c_char;
257 pub fn astal_battery_device_get_device_type_icon(
258 self_: *mut AstalBatteryDevice,
259 ) -> *const c_char;
260
261 pub fn astal_battery_upower_get_type() -> GType;
265 pub fn astal_battery_upower_new() -> *mut AstalBatteryUPower;
266 pub fn astal_battery_upower_get_devices(self_: *mut AstalBatteryUPower) -> *mut glib::GList;
267 pub fn astal_battery_upower_get_display_device(
268 self_: *mut AstalBatteryUPower,
269 ) -> *mut AstalBatteryDevice;
270 pub fn astal_battery_upower_get_daemon_version(self_: *mut AstalBatteryUPower) -> *mut c_char;
271 pub fn astal_battery_upower_get_on_battery(self_: *mut AstalBatteryUPower) -> gboolean;
272 pub fn astal_battery_upower_get_lid_is_closed(self_: *mut AstalBatteryUPower) -> gboolean;
273 pub fn astal_battery_upower_get_lid_is_present(self_: *mut AstalBatteryUPower) -> gboolean;
274 pub fn astal_battery_upower_get_critical_action(self_: *mut AstalBatteryUPower) -> *mut c_char;
275
276 pub fn astal_battery_get_default() -> *mut AstalBatteryDevice;
280
281}