fix(battery): Store paths

This commit is contained in:
Michael Carlberg 2016-06-21 04:34:48 +02:00
parent 0c89775b05
commit 89ea8d9146
2 changed files with 14 additions and 15 deletions

View File

@ -42,6 +42,8 @@ namespace modules
std::unique_ptr<drawtypes::Label> label_full_tokenized; std::unique_ptr<drawtypes::Label> label_full_tokenized;
std::string battery, adapter; std::string battery, adapter;
std::string path_capacity, path_adapter;
concurrency::Atomic<int> state; concurrency::Atomic<int> state;
concurrency::Atomic<int> percentage; concurrency::Atomic<int> percentage;
int full_at; int full_at;

View File

@ -54,16 +54,16 @@ BatteryModule::BatteryModule(std::string name_) : InotifyModule(name_)
this->label_full = drawtypes::get_optional_config_label( this->label_full = drawtypes::get_optional_config_label(
name(), get_tag_name(TAG_LABEL_FULL), "%percentage%"); name(), get_tag_name(TAG_LABEL_FULL), "%percentage%");
const auto capacity_path = string::replace(PATH_BATTERY_CAPACITY, "%battery%", this->battery); this->path_capacity = string::replace(PATH_BATTERY_CAPACITY, "%battery%", this->battery);
const auto adapter_path = string::replace(PATH_ADAPTER_STATUS, "%adapter%", this->adapter); this->path_adapter = string::replace(PATH_ADAPTER_STATUS, "%adapter%", this->adapter);
if (!io::file::exists(capacity_path)) if (!io::file::exists(this->path_capacity))
throw ModuleError("[BatteryModule] The file \""+ capacity_path +"\" does not exist"); throw ModuleError("[BatteryModule] The file \""+ this->path_capacity +"\" does not exist");
if (!io::file::exists(adapter_path)) if (!io::file::exists(this->path_adapter))
throw ModuleError("[BatteryModule] The file \""+ adapter_path +"\" does not exist"); throw ModuleError("[BatteryModule] The file \""+ this->path_adapter +"\" does not exist");
this->watch(capacity_path, InotifyEvent::ACCESSED); this->watch(this->path_capacity, InotifyEvent::ACCESSED);
this->watch(adapter_path, InotifyEvent::ACCESSED); this->watch(this->path_adapter, InotifyEvent::ACCESSED);
} }
void BatteryModule::start() void BatteryModule::start()
@ -110,20 +110,17 @@ bool BatteryModule::on_event(InotifyEvent *event)
log_trace(event->filename); log_trace(event->filename);
int state = STATE_UNKNOWN; int state = STATE_UNKNOWN;
auto status = io::file::get_contents(this->path_adapter);
auto path_capacity = string::replace(PATH_BATTERY_CAPACITY, "%battery%", this->battery);
auto path_status = string::replace(PATH_ADAPTER_STATUS, "%adapter%", this->adapter);
auto status = io::file::get_contents(path_status);
if (status.empty()) { if (status.empty()) {
log_error("Failed to read "+ path_status); log_error("Failed to read "+ this->path_adapter);
return false; return false;
} }
auto capacity = io::file::get_contents(path_capacity); auto capacity = io::file::get_contents(this->path_capacity);
if (capacity.empty()) { if (capacity.empty()) {
log_error("Failed to read "+ path_capacity); log_error("Failed to read "+ this->path_capacity);
return false; return false;
} }