X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbattery.c;h=3e6d7bda9de2a088e5763f7518af1bf1f1b072a7;hb=806091e395886da83acf2435e90648bdf2cf2ed5;hp=a0843196a302c55c8647dd64b67ae2038d05fa00;hpb=e62ca6291b991412d3d8cbcecd4274b8c66a457d;p=collectd.git diff --git a/src/battery.c b/src/battery.c index a0843196..3e6d7bda 100644 --- a/src/battery.c +++ b/src/battery.c @@ -69,8 +69,11 @@ # define SYSFS_FACTOR 0.000001 #endif /* KERNEL_LINUX */ +int battery_read_statefs (void); /* defined in battery_statefs; used by StateFS backend */ + static _Bool report_percent = 0; static _Bool report_degraded = 0; +static _Bool query_statefs = 0; static void battery_submit2 (char const *plugin_instance, /* {{{ */ char const *type, char const *type_instance, gauge_t value) @@ -359,6 +362,9 @@ static int battery_read (void) /* {{{ */ gauge_t capacity_full = NAN; /* Total capacity */ gauge_t capacity_design = NAN; /* Full design capacity */ + if (query_statefs) + return battery_read_statefs (); + #if HAVE_IOKIT_PS_IOPOWERSOURCES_H get_via_io_power_sources (&charge_rel, ¤t, &voltage); #endif @@ -778,6 +784,9 @@ static int battery_read (void) /* {{{ */ { int status; + if (query_statefs) + return battery_read_statefs (); + DEBUG ("battery plugin: Trying sysfs ..."); status = read_sysfs (); if (status == 0) @@ -808,6 +817,8 @@ static int battery_config (oconfig_item_t *ci) cf_util_get_boolean (child, &report_percent); else if (strcasecmp ("ReportDegraded", child->key) == 0) cf_util_get_boolean (child, &report_degraded); + else if (strcasecmp ("QueryStateFS", child->key) == 0) + cf_util_get_boolean (child, &query_statefs); else WARNING ("battery plugin: Ignoring unknown " "configuration option \"%s\".",