1 #pragma once
2 
3 #include "interfaces.hpp"
4 #include "util.hpp"
5 
6 #include <string>
7 
8 namespace pid_control
9 {
10 
11 /*
12  * A ReadInterface that is expecting a path that's sysfs, but really could be
13  * any filesystem path.
14  */
15 class SysFsRead : public ReadInterface
16 {
17   public:
18     explicit SysFsRead(const std::string& path) :
19         ReadInterface(), _path(FixupPath(path))
20     {}
21 
22     ReadReturn read(void) override;
23 
24   private:
25     const std::string _path;
26 };
27 
28 } // namespace pid_control
29