1863b9246SPatrick Venture #pragma once 2863b9246SPatrick Venture 3863b9246SPatrick Venture #include "interfaces.hpp" 40c8223b5SJames Feist #include "util.hpp" 5863b9246SPatrick Venture 6da4a5dd1SPatrick Venture #include <string> 7863b9246SPatrick Venture 8*a076487aSPatrick Venture namespace pid_control 9*a076487aSPatrick Venture { 10*a076487aSPatrick Venture 11863b9246SPatrick Venture /* 12863b9246SPatrick Venture * A ReadInterface that is expecting a path that's sysfs, but really could be 13863b9246SPatrick Venture * any filesystem path. 14863b9246SPatrick Venture */ 15863b9246SPatrick Venture class SysFsRead : public ReadInterface 16863b9246SPatrick Venture { 17863b9246SPatrick Venture public: SysFsRead(const std::string & path)183c2564cbSPatrick Venture explicit SysFsRead(const std::string& path) : 193c2564cbSPatrick Venture ReadInterface(), _path(FixupPath(path)) 20a83a3eccSPatrick Venture {} 21863b9246SPatrick Venture 22863b9246SPatrick Venture ReadReturn read(void) override; 23863b9246SPatrick Venture 24863b9246SPatrick Venture private: 25863b9246SPatrick Venture const std::string _path; 26863b9246SPatrick Venture }; 27*a076487aSPatrick Venture 28*a076487aSPatrick Venture } // namespace pid_control 29