blob: d04baaab1ee3e0ea18f503c8cf078575e7e3e023 [file] [log] [blame]
Patrick Venturee6206562018-03-08 15:36:53 -08001#pragma once
2
Patrick Ventureda064282018-06-12 19:33:47 -07003#include <string>
4
Patrick Venturee6206562018-03-08 15:36:53 -08005/* This program assumes sensors use the Sensor.Value interface
6 * and for sensor->write() I only implemented sysfs as a type,
7 * but -- how would it know whether to use Control.FanSpeed or Control.FanPwm?
8 *
9 * One could get the interface list for the object and search for Control.*
10 * but, it needs to know the maximum, minimum. The only sensors it wants to write
11 * in this code base are Fans...
12 */
13enum class IOInterfaceType
14{
15 NONE, // There is no interface.
16 EXTERNAL,
17 DBUSPASSIVE,
18 DBUSACTIVE, // This means for write that it needs to look up the interface.
19 SYSFS,
20 UNKNOWN
21};
22
23/* WriteInterfaceType is different because Dbusactive/passive. how to know... */
24IOInterfaceType GetWriteInterfaceType(const std::string& path);
25
26IOInterfaceType GetReadInterfaceType(const std::string& path);
27