#pragma once #include "Tactility/hal/sdcard/SdCardDevice.h" #include #include using tt::hal::sdcard::SdCardDevice; class SimulatorSdCard final : public SdCardDevice { State state; std::shared_ptr lock; std::string mountPath; public: SimulatorSdCard() : SdCardDevice(MountBehaviour::AtBoot), state(State::Unmounted), lock(std::make_shared()) {} std::string getName() const override { return "Mock SD Card"; } std::string getDescription() const override { return ""; } bool mount(const std::string& newMountPath) override { state = State::Mounted; mountPath = newMountPath; return true; } bool unmount() override { state = State::Unmounted; mountPath = ""; return true; } std::string getMountPath() const override { return mountPath; } std::shared_ptr getLock() const override { return lock; } State getState(TickType_t timeout) const override { return state; } };