evcc-io/charger/ocpp_decorators.go
2024-09-16 19:01:15 +02:00

1641 lines
41 KiB
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 decorateOCPP(base *OCPP, meter func() (float64, error), meterEnergy func() (float64, error), phaseCurrents func() (float64, float64, float64, error), phaseVoltages func() (float64, float64, float64, error), currentGetter func() (float64, error), phaseSwitcher func(int) error, battery func() (float64, error)) api.Charger {
switch {
case battery == nil && currentGetter == nil && meter == nil && phaseSwitcher == nil:
return base
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.PhaseCurrents
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseCurrents
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter == nil && phaseSwitcher == nil:
return &struct {
*OCPP
api.CurrentGetter
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseCurrents
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter == nil && phaseSwitcher != nil:
return &struct {
*OCPP
api.PhaseSwitcher
}{
OCPP: base,
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.PhaseSwitcher
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseSwitcher
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter == nil && phaseSwitcher != nil:
return &struct {
*OCPP
api.CurrentGetter
api.PhaseSwitcher
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseSwitcher
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseSwitcher
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery == nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter == nil && phaseSwitcher == nil:
return &struct {
*OCPP
api.Battery
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseCurrents
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseCurrents
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter == nil && phaseSwitcher == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseCurrents
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher == nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter == nil && phaseSwitcher != nil:
return &struct {
*OCPP
api.Battery
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter == nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter == nil && phaseSwitcher != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages == nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents == nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy == nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
case battery != nil && currentGetter != nil && meter != nil && meterEnergy != nil && phaseCurrents != nil && phaseSwitcher != nil && phaseVoltages != nil:
return &struct {
*OCPP
api.Battery
api.CurrentGetter
api.Meter
api.MeterEnergy
api.PhaseCurrents
api.PhaseSwitcher
api.PhaseVoltages
}{
OCPP: base,
Battery: &decorateOCPPBatteryImpl{
battery: battery,
},
CurrentGetter: &decorateOCPPCurrentGetterImpl{
currentGetter: currentGetter,
},
Meter: &decorateOCPPMeterImpl{
meter: meter,
},
MeterEnergy: &decorateOCPPMeterEnergyImpl{
meterEnergy: meterEnergy,
},
PhaseCurrents: &decorateOCPPPhaseCurrentsImpl{
phaseCurrents: phaseCurrents,
},
PhaseSwitcher: &decorateOCPPPhaseSwitcherImpl{
phaseSwitcher: phaseSwitcher,
},
PhaseVoltages: &decorateOCPPPhaseVoltagesImpl{
phaseVoltages: phaseVoltages,
},
}
}
return nil
}
type decorateOCPPBatteryImpl struct {
battery func() (float64, error)
}
func (impl *decorateOCPPBatteryImpl) Soc() (float64, error) {
return impl.battery()
}
type decorateOCPPCurrentGetterImpl struct {
currentGetter func() (float64, error)
}
func (impl *decorateOCPPCurrentGetterImpl) GetMaxCurrent() (float64, error) {
return impl.currentGetter()
}
type decorateOCPPMeterImpl struct {
meter func() (float64, error)
}
func (impl *decorateOCPPMeterImpl) CurrentPower() (float64, error) {
return impl.meter()
}
type decorateOCPPMeterEnergyImpl struct {
meterEnergy func() (float64, error)
}
func (impl *decorateOCPPMeterEnergyImpl) TotalEnergy() (float64, error) {
return impl.meterEnergy()
}
type decorateOCPPPhaseCurrentsImpl struct {
phaseCurrents func() (float64, float64, float64, error)
}
func (impl *decorateOCPPPhaseCurrentsImpl) Currents() (float64, float64, float64, error) {
return impl.phaseCurrents()
}
type decorateOCPPPhaseSwitcherImpl struct {
phaseSwitcher func(int) error
}
func (impl *decorateOCPPPhaseSwitcherImpl) Phases1p3p(p0 int) error {
return impl.phaseSwitcher(p0)
}
type decorateOCPPPhaseVoltagesImpl struct {
phaseVoltages func() (float64, float64, float64, error)
}
func (impl *decorateOCPPPhaseVoltagesImpl) Voltages() (float64, float64, float64, error) {
return impl.phaseVoltages()
}