refactor(config): Load on instantiation

This commit is contained in:
Michael Carlberg
2016-12-09 11:32:41 +01:00
parent 4fca0c89b4
commit 540bcb9fd0
3 changed files with 24 additions and 11 deletions

View File

@ -13,9 +13,19 @@ POLYBAR_NS
/**
* Create instance
*/
config::make_type config::make() {
auto instance = factory_util::singleton<const config>(logger::make(), xresource_manager::make());
return static_cast<const config&>(*instance);
config::make_type config::make(string path, string bar) {
return static_cast<const config&>(
*factory_util::singleton<const config>(logger::make(), xresource_manager::make(), move(path), move(bar)));
}
/**
* Construct config object
*/
config::config(const logger& logger, const xresource_manager& xrm, string&& path, string&& bar)
: m_logger(logger), m_xrm(xrm) {
if (!path.empty() && !bar.empty()) {
load(forward<decltype(path)>(path), forward<decltype(bar)>(bar));
}
}
/**