#include "HardwareAbstract.hpp" HardwareAbstract::HardwareAbstract( std::shared_ptr aDisplay, std::shared_ptr aBattery, std::shared_ptr aWifiHandler ) : mBattery(std::move(aBattery)), mWifiHandler(std::move(aWifiHandler)), mDisplay(std::move(aDisplay)) {} std::optional HardwareAbstract::getBatteryStatus(){ if(mBattery){ HardwareAbstract::batteryStatus currentStatus; currentStatus.percentage = mBattery->getPercentage(); currentStatus.isCharging = mBattery->isCharging(); return currentStatus; } return std::nullopt; } void HardwareAbstract::onBatteryChange(std::function onBatteryStatusChangeHandler){ mBatteryNotification.onNotify(std::move(onBatteryStatusChangeHandler)); }