simplify the driver interface
This commit is contained in:
+13
-30
@@ -1,47 +1,30 @@
|
||||
package proc
|
||||
|
||||
import (
|
||||
"finally-a-monolithic-linux-hw-monitor/app/common"
|
||||
driver "finally-a-monolithic-linux-hw-monitor/app/proc/drivers"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type IntelReader struct {
|
||||
temperatureDriver driver.TemperatureDriver
|
||||
powerDriver driver.PowerDriver
|
||||
clockDriver driver.ClockDriver
|
||||
}
|
||||
|
||||
func NewIntelReader() (*IntelReader, error) {
|
||||
temperatureDriver := driver.NewHwmonDriver([]string{"coretemp"})
|
||||
if temperatureDriver == nil {
|
||||
func NewIntelDrivers() ([]common.Driver, error) {
|
||||
drivers := []common.Driver{}
|
||||
temperatureDriver, err := driver.NewHwmonDriver([]string{"coretemp"})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not initialize hwmon temperature driver")
|
||||
}
|
||||
drivers = append(drivers, temperatureDriver)
|
||||
|
||||
powerDriver := driver.NewRaplDriver()
|
||||
if powerDriver == nil {
|
||||
powerDriver, err := driver.NewRaplDriver()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not initialize hwmon temperature driver")
|
||||
}
|
||||
drivers = append(drivers, powerDriver)
|
||||
|
||||
clockDriver := driver.NewSysDriver()
|
||||
if clockDriver == nil {
|
||||
clockDriver, err := driver.NewSysDriver()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not initialize hwmon temperature driver")
|
||||
}
|
||||
drivers = append(drivers, clockDriver)
|
||||
|
||||
return &IntelReader{
|
||||
temperatureDriver: temperatureDriver,
|
||||
powerDriver: powerDriver,
|
||||
clockDriver: clockDriver,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *IntelReader) ReadTemperatureSensors() ([]driver.TemperatureSensor, error) {
|
||||
return r.temperatureDriver.ReadTemperatureSensors()
|
||||
}
|
||||
|
||||
func (r *IntelReader) ReadPowerSensors() ([]driver.PowerSensor, error) {
|
||||
return r.powerDriver.ReadPowerSensors()
|
||||
}
|
||||
|
||||
func (r *IntelReader) ReadClockSensors() ([]driver.ClockSensor, error) {
|
||||
return r.clockDriver.ReadClockSensors()
|
||||
return drivers, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user