From 7d4a62f8c1404ed426500b97af03d4ef8d034a71 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Thu, 15 Nov 2012 10:33:16 -0500 Subject: Isolation of udev code from remaining systemd This commit is a first attempt to isolate the udev code from the remaining code base. It intentionally does not modify any files but purely delete files which, on a first examination, appear to not be needed. This is a sweeping commit which may easily have missed needed code. Files can be retrieved by doing a checkout from the previous commit: git checkout 2944f347d0 -- --- src/ac-power/ac-power.c | 111 ------------------------------------------------ 1 file changed, 111 deletions(-) delete mode 100644 src/ac-power/ac-power.c (limited to 'src/ac-power/ac-power.c') diff --git a/src/ac-power/ac-power.c b/src/ac-power/ac-power.c deleted file mode 100644 index 37313cf144..0000000000 --- a/src/ac-power/ac-power.c +++ /dev/null @@ -1,111 +0,0 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - -/*** - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see . -***/ - -#include -#include -#include -#include -#include - -#include "util.h" - -static int on_ac_power(void) { - int r; - - struct udev *udev; - struct udev_enumerate *e = NULL; - struct udev_list_entry *item = NULL, *first = NULL; - bool found_offline = false, found_online = false; - - if (!(udev = udev_new())) { - r = -ENOMEM; - goto finish; - } - - if (!(e = udev_enumerate_new(udev))) { - r = -ENOMEM; - goto finish; - } - - if (udev_enumerate_add_match_subsystem(e, "power_supply") < 0) { - r = -EIO; - goto finish; - } - - if (udev_enumerate_scan_devices(e) < 0) { - r = -EIO; - goto finish; - } - - first = udev_enumerate_get_list_entry(e); - udev_list_entry_foreach(item, first) { - struct udev_device *d; - const char *type, *online; - - if (!(d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)))) { - r = -ENOMEM; - goto finish; - } - - if (!(type = udev_device_get_sysattr_value(d, "type"))) - goto next; - - if (!streq(type, "Mains")) - goto next; - - if (!(online = udev_device_get_sysattr_value(d, "online"))) - goto next; - - if (streq(online, "1")) { - found_online = true; - break; - } else if (streq(online, "0")) - found_offline = true; - - next: - udev_device_unref(d); - } - - r = found_online || !found_offline; - -finish: - if (e) - udev_enumerate_unref(e); - - if (udev) - udev_unref(udev); - - return r; -} - -int main(int argc, char *argv[]) { - int r; - - /* This is mostly intended to be used for scripts which want - * to detect whether AC power is plugged in or not. */ - - if ((r = on_ac_power()) < 0) { - log_error("Failed to read AC status: %s", strerror(-r)); - return EXIT_FAILURE; - } - - return r == 0; -} -- cgit v1.2.3-54-g00ecf