upower_dbus 0.1.0

UPower info via Dbus
Documentation

upower-dbus

A Rust library which interfaces with UPower status information through dbus.

Examples

Detecting if the system is running on battery

extern crate upower_dbus;

use upower_dbus::UPower;

fn main() {
    match UPower::new(1000).and_then(|u| u.on_battery()) {
        Ok(true) => println!("system is using battery"),
        Ok(false) => println!("system is on AC"),
        Err(why) => eprintln!("failed to get battery status: {}", why)
    }
}

Getting the current battery status as a percentage

extern crate upower_dbus;

use std::process::exit;
use upower_dbus::UPower;

fn main() {
    let upower = match UPower::new(1000) {
        Ok(upower) => upower,
        Err(why) => {
            eprintln!("failed to get dbus connection: {}", why);
            exit(1);
        }
    };

    match upower.on_battery() {
        Ok(true) => {
            match upower.get_percentage() {
                Ok(percentage) => println!("battery is at {}%", percentage),
                Err(why) => {
                    eprintln!("could not get battery percentage: {}", why);
                    exit(1);
                }
            }
        }
        Ok(false) => println!("battery is not active"),
        Err(why) => {
            eprintln!("could not get battery status: {}", why);
            exit(1);
        }
    }
}