func (t *iotype) SetName(newName string) { _, ok := freesp.GetIOTypeByName(newName) if ok { log.Printf("iotype.SetName error: cannot rename to existing iotype.\n") return } freesp.RemoveRegisteredIOType(t) t.name = newName freesp.RegisterIOType(t) }
func IOTypeNew(name string, mode gr.IOMode, platform pf.PlatformIf) (t *iotype, err error) { newT := &iotype{name, mode, platform} ioType, ok := freesp.GetIOTypeByName(name) if ok { if (*newT) != (*(ioType.(*iotype))) { err = fmt.Errorf("IOTypeNew error: adding existing io type %s, which is incompatible.", name) err = fmt.Errorf("%s\nexisting: %v - new: %v\n", err, ioType, newT) return } t = ioType.(*iotype) } else { t = newT freesp.RegisterIOType(t) } return }