1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-06 00:48:45 +01:00
Files
2024-04-04 21:23:02 +02:00

80 lines
1.7 KiB
Go

package models
import (
"errors"
)
//
type Tone int
const (
TONE0_TONE Tone = iota
TONE1_TONE
TONE2_TONE
TONE3_TONE
TONE4_TONE
TONE5_TONE
TONE6_TONE
TONE7_TONE
TONE8_TONE
TONE9_TONE
STAR_TONE
POUND_TONE
A_TONE
B_TONE
C_TONE
D_TONE
FLASH_TONE
)
func (i Tone) String() string {
return []string{"tone0", "tone1", "tone2", "tone3", "tone4", "tone5", "tone6", "tone7", "tone8", "tone9", "star", "pound", "a", "b", "c", "d", "flash"}[i]
}
func ParseTone(v string) (any, error) {
result := TONE0_TONE
switch v {
case "tone0":
result = TONE0_TONE
case "tone1":
result = TONE1_TONE
case "tone2":
result = TONE2_TONE
case "tone3":
result = TONE3_TONE
case "tone4":
result = TONE4_TONE
case "tone5":
result = TONE5_TONE
case "tone6":
result = TONE6_TONE
case "tone7":
result = TONE7_TONE
case "tone8":
result = TONE8_TONE
case "tone9":
result = TONE9_TONE
case "star":
result = STAR_TONE
case "pound":
result = POUND_TONE
case "a":
result = A_TONE
case "b":
result = B_TONE
case "c":
result = C_TONE
case "d":
result = D_TONE
case "flash":
result = FLASH_TONE
default:
return 0, errors.New("Unknown Tone value: " + v)
}
return &result, nil
}
func SerializeTone(values []Tone) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}