Add docs around battery notifications

This commit is contained in:
Matthew Colvin 2023-08-11 23:57:18 -05:00 committed by MatthewColvin
parent 6268a28682
commit d73b816578
2 changed files with 11 additions and 4 deletions

View file

@ -21,11 +21,11 @@ std::optional<HardwareAbstract::batteryStatus> HardwareAbstract::getBatteryStatu
}
void HardwareAbstract::notifyBatteryChange(HardwareAbstract::batteryStatus aStatus){
for (auto handler : mBatteryEventHandlers){
for (auto handler : mBatteryUpdateHandlers){
handler(aStatus);
}
}
void HardwareAbstract::onBatteryChange(std::function<void(HardwareAbstract::batteryStatus)> onBatteryStatusChangeHandler){
mBatteryEventHandlers.push_back(std::move(onBatteryStatusChangeHandler));
mBatteryUpdateHandlers.push_back(std::move(onBatteryStatusChangeHandler));
}

View file

@ -36,9 +36,16 @@ public:
/// @param message - Debug message
virtual void debugPrint(std::string message) = 0;
// Didn't actually implement this but would need to set up something to intermittently notify of batteryChange.
void notifyBatteryChange(batteryStatus aStatus);
/// @brief Register function to be ran when hardware notifies battery
/// status has changed.
/// @param onBatteryStatusChangeHandler - Callable to be ran when batter status changes
void onBatteryChange(std::function<void(batteryStatus)> onBatteryStatusChangeHandler);
protected:
/// @brief Call in child class implementation to alert users
/// the battery status has changed
/// @param aStatus - Current Battery Status
void notifyBatteryChange(batteryStatus aStatus);
private:
std::shared_ptr<BatteryInterface> mBattery;