pythia-0.1: A utility program for retrieving system information.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pythia.Services.Battery.SysFs

Contents

Description

This module provides functionality for retrieving battery information using SysFS.

Since: 0.1

Synopsis

Query

batteryQuery :: (MonadFileReader m, MonadPathReader m, MonadThrow m) => m Battery Source #

/sys/class query for Battery.

Since: 0.1

supported :: (MonadCatch m, MonadPathReader m) => m Bool Source #

Returns a boolean determining if this program is supported on the current system. In particular, we return True if the directory

/sys(fs)/class/power_supply/BAT[0-5]+ exists.

Example valid paths:

  • /sys/class/power_supply/BAT0
  • /sysfs/class/power_supply/BAT3
  • /sys/class/power_supply/BAT

Since: 0.1

Misc

data SysFsDirNotFound Source #

Sysfs dir not found error.

Examples

Expand
>>> displayException MkSysFsDirNotFound
"Could not find either sysfs dirs: /sys/class/power_supply, /sysfs/class/power_supply"

Since: 0.1

Constructors

MkSysFsDirNotFound 

data SysFsBatteryDirNotFound Source #

Sysfs battery dir not found.

Examples

Expand
>>> displayException MkSysFsBatteryDirNotFound
"Could not find BAT[0-5]? subdirectory under /sys(fs)/class/power_supply"

Since: 0.1

newtype SysFsFileNotFound Source #

Sysfs file not found.

Examples

Expand
>>> displayException $ MkSysFsFileNotFound "foo"
"Could not find sysfs file: foo"

Since: 0.1

newtype SysFsBatteryParseError Source #

Sysfs battery parse error.

Examples

Expand
>>> displayException $ MkSysFsBatteryParseError "bad"
"SysFs parse error: bad"

Since: 0.1