| 170 | } |
| 171 | |
| 172 | static std::string secondsToString(const std::chrono::seconds sec) { |
| 173 | const auto ds{std::chrono::duration_cast<std::chrono::days>(sec)}; |
| 174 | const auto hrs{std::chrono::duration_cast<std::chrono::hours>(sec - ds)}; |
| 175 | const auto min{std::chrono::duration_cast<std::chrono::minutes>(sec - ds - hrs)}; |
| 176 | std::string_view strRet{(ds.count() > 0) ? "{D}d {H}h {M}min" |
| 177 | : (hrs.count() > 0) ? "{H}h {M}min" |
| 178 | : (min.count() > 0) ? "{M}min" |
| 179 | : ""}; |
| 180 | spdlog::debug( |
| 181 | "UPower::secondsToString(). seconds: \"{0}\", minutes: \"{1}\", hours: \"{2}\", \ |
| 182 | days: \"{3}\", strRet: \"{4}\"", |
| 183 | sec.count(), min.count(), hrs.count(), ds.count(), strRet); |
| 184 | return fmt::format(fmt::runtime(strRet), fmt::arg("D", ds.count()), fmt::arg("H", hrs.count()), |
| 185 | fmt::arg("M", min.count())); |
| 186 | } |
| 187 | |
| 188 | auto UPower::update() -> void { |
| 189 | std::lock_guard<std::mutex> guard{mutex_}; |