mercedes-byocar-exporter/internal/exporters/interface.go
Knut Ahlers fcc21cfb75
Add InfluxDB exporter
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2022-11-20 14:44:55 +01:00

40 lines
966 B
Go

package exporters
import "github.com/Luzifer/mercedes-byocar-exporter/internal/mercedes"
type (
Exporter interface {
SetFuelStatus(vehicleID string, fs mercedes.FuelStatus)
SetLockStatus(vehicleID string, ls mercedes.LockStatus)
SetPayAsYouGo(vehicleID string, p mercedes.PayAsYouDriveInsurance)
SetVehicleStatus(vehicleID string, vs mercedes.VehicleStatus)
}
Set []Exporter
)
var _ Exporter = Set{}
func (s Set) SetFuelStatus(vehicleID string, fs mercedes.FuelStatus) {
for _, e := range s {
e.SetFuelStatus(vehicleID, fs)
}
}
func (s Set) SetLockStatus(vehicleID string, ls mercedes.LockStatus) {
for _, e := range s {
e.SetLockStatus(vehicleID, ls)
}
}
func (s Set) SetPayAsYouGo(vehicleID string, p mercedes.PayAsYouDriveInsurance) {
for _, e := range s {
e.SetPayAsYouGo(vehicleID, p)
}
}
func (s Set) SetVehicleStatus(vehicleID string, vs mercedes.VehicleStatus) {
for _, e := range s {
e.SetVehicleStatus(vehicleID, vs)
}
}