evcc-io/charger/switchsocket_decorators.go
2024-12-05 18:10:36 +01:00

35 lines
713 B
Go

package charger
// Code generated by github.com/evcc-io/evcc/cmd/tools/decorate.go. DO NOT EDIT.
import (
"github.com/evcc-io/evcc/api"
)
func decorateSwitchSocket(base *SwitchSocket, meterEnergy func() (float64, error)) api.Charger {
switch {
case meterEnergy == nil:
return base
case meterEnergy != nil:
return &struct {
*SwitchSocket
api.MeterEnergy
}{
SwitchSocket: base,
MeterEnergy: &decorateSwitchSocketMeterEnergyImpl{
meterEnergy: meterEnergy,
},
}
}
return nil
}
type decorateSwitchSocketMeterEnergyImpl struct {
meterEnergy func() (float64, error)
}
func (impl *decorateSwitchSocketMeterEnergyImpl) TotalEnergy() (float64, error) {
return impl.meterEnergy()
}