#pragma once #include "HardwareAbstract.hpp" #include "batterySimulator.hpp" #include "SDLDisplay.hpp" #include "wifiHandlerSim.hpp" #include class HardwareSimulator : public HardwareAbstract { public: HardwareSimulator(); virtual void init() override {}; virtual void debugPrint(const char* fmt, ...) override { va_list arguments; va_start(arguments, fmt); vprintf(fmt, arguments); va_end(arguments); } virtual std::shared_ptr battery() override; virtual std::shared_ptr display() override; virtual std::shared_ptr wifi() override; private: std::thread mTickThread; std::thread mHardwareStatusTitleUpdate; std::shared_ptr mBattery; std::shared_ptr mDisplay; std::shared_ptr mWifiHandler; };