github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_fence_breach.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package common 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 type FENCE_BREACH uint64 11 12 const ( 13 // No last fence breach 14 FENCE_BREACH_NONE FENCE_BREACH = 0 15 // Breached minimum altitude 16 FENCE_BREACH_MINALT FENCE_BREACH = 1 17 // Breached maximum altitude 18 FENCE_BREACH_MAXALT FENCE_BREACH = 2 19 // Breached fence boundary 20 FENCE_BREACH_BOUNDARY FENCE_BREACH = 3 21 ) 22 23 var labels_FENCE_BREACH = map[FENCE_BREACH]string{ 24 FENCE_BREACH_NONE: "FENCE_BREACH_NONE", 25 FENCE_BREACH_MINALT: "FENCE_BREACH_MINALT", 26 FENCE_BREACH_MAXALT: "FENCE_BREACH_MAXALT", 27 FENCE_BREACH_BOUNDARY: "FENCE_BREACH_BOUNDARY", 28 } 29 30 var values_FENCE_BREACH = map[string]FENCE_BREACH{ 31 "FENCE_BREACH_NONE": FENCE_BREACH_NONE, 32 "FENCE_BREACH_MINALT": FENCE_BREACH_MINALT, 33 "FENCE_BREACH_MAXALT": FENCE_BREACH_MAXALT, 34 "FENCE_BREACH_BOUNDARY": FENCE_BREACH_BOUNDARY, 35 } 36 37 // MarshalText implements the encoding.TextMarshaler interface. 38 func (e FENCE_BREACH) MarshalText() ([]byte, error) { 39 if name, ok := labels_FENCE_BREACH[e]; ok { 40 return []byte(name), nil 41 } 42 return []byte(strconv.Itoa(int(e))), nil 43 } 44 45 // UnmarshalText implements the encoding.TextUnmarshaler interface. 46 func (e *FENCE_BREACH) UnmarshalText(text []byte) error { 47 if value, ok := values_FENCE_BREACH[string(text)]; ok { 48 *e = value 49 } else if value, err := strconv.Atoi(string(text)); err == nil { 50 *e = FENCE_BREACH(value) 51 } else { 52 return fmt.Errorf("invalid label '%s'", text) 53 } 54 return nil 55 } 56 57 // String implements the fmt.Stringer interface. 58 func (e FENCE_BREACH) String() string { 59 val, _ := e.MarshalText() 60 return string(val) 61 }