Files
tecamino-json_data/models/drivers.go
2025-07-30 12:12:18 +02:00

30 lines
573 B
Go

package models
// collection of drivers ordered in map
type Drivers map[string]*Driver
func (d *Drivers) AddNewDriver(typ string) *Driver {
if drv, ok := (*d)[typ]; ok {
return drv
}
(*d)[typ] = &Driver{Type: typ}
return (*d)[typ]
}
func (d *Drivers) AddDriver(drv *Driver) {
if driver, ok := (*d)[drv.Type]; ok {
driver.AddBuses(drv.Buses)
(*d)[drv.Type] = driver
return
}
(*d)[drv.Type] = drv
}
func (d *Drivers) RemoveDriver(drv *Driver) {
if driver, ok := (*d)[drv.Type]; ok {
driver.RemoveBuses(drv.Buses)
(*d)[drv.Type] = driver
return
}
}