github.com/machinefi/w3bstream@v1.6.5-rc9.0.20240426031326-b8c7c4876e72/pkg/depends/conf/mqtt/qos__generated.go (about) 1 // This is a generated source file. DO NOT EDIT 2 // Source: mqtt/qos__generated.go 3 4 package mqtt 5 6 import ( 7 "bytes" 8 "database/sql/driver" 9 "errors" 10 11 "github.com/machinefi/w3bstream/pkg/depends/kit/enum" 12 ) 13 14 var InvalidQOS = errors.New("invalid QOS type") 15 16 func ParseQOSFromString(s string) (QOS, error) { 17 switch s { 18 default: 19 return QOS_UNKNOWN, InvalidQOS 20 case "": 21 return QOS_UNKNOWN, nil 22 case "ONCE": 23 return QOS__ONCE, nil 24 case "AT_LEAST_ONCE": 25 return QOS__AT_LEAST_ONCE, nil 26 case "ONLY_ONCE": 27 return QOS__ONLY_ONCE, nil 28 } 29 } 30 31 func ParseQOSFromLabel(s string) (QOS, error) { 32 switch s { 33 default: 34 return QOS_UNKNOWN, InvalidQOS 35 case "": 36 return QOS_UNKNOWN, nil 37 case "0": 38 return QOS__ONCE, nil 39 case "1": 40 return QOS__AT_LEAST_ONCE, nil 41 case "2": 42 return QOS__ONLY_ONCE, nil 43 } 44 } 45 46 func (v QOS) Int() int { 47 return int(v) 48 } 49 50 func (v QOS) String() string { 51 switch v { 52 default: 53 return "UNKNOWN" 54 case QOS_UNKNOWN: 55 return "" 56 case QOS__ONCE: 57 return "ONCE" 58 case QOS__AT_LEAST_ONCE: 59 return "AT_LEAST_ONCE" 60 case QOS__ONLY_ONCE: 61 return "ONLY_ONCE" 62 } 63 } 64 65 func (v QOS) Label() string { 66 switch v { 67 default: 68 return "UNKNOWN" 69 case QOS_UNKNOWN: 70 return "" 71 case QOS__ONCE: 72 return "0" 73 case QOS__AT_LEAST_ONCE: 74 return "1" 75 case QOS__ONLY_ONCE: 76 return "2" 77 } 78 } 79 80 func (v QOS) TypeName() string { 81 return "github.com/machinefi/w3bstream/pkg/depends/conf/mqtt.QOS" 82 } 83 84 func (v QOS) ConstValues() []enum.IntStringerEnum { 85 return []enum.IntStringerEnum{QOS__ONCE, QOS__AT_LEAST_ONCE, QOS__ONLY_ONCE} 86 } 87 88 func (v QOS) MarshalText() ([]byte, error) { 89 s := v.String() 90 if s == "UNKNOWN" { 91 return nil, InvalidQOS 92 } 93 return []byte(s), nil 94 } 95 96 func (v *QOS) UnmarshalText(data []byte) error { 97 s := string(bytes.ToUpper(data)) 98 val, err := ParseQOSFromString(s) 99 if err != nil { 100 return err 101 } 102 *(v) = val 103 return nil 104 } 105 106 func (v *QOS) Scan(src interface{}) error { 107 offset := 0 108 o, ok := interface{}(v).(enum.ValueOffset) 109 if ok { 110 offset = o.Offset() 111 } 112 i, err := enum.ScanIntEnumStringer(src, offset) 113 if err != nil { 114 return err 115 } 116 *(v) = QOS(i) 117 return nil 118 } 119 120 func (v QOS) Value() (driver.Value, error) { 121 offset := 0 122 o, ok := interface{}(v).(enum.ValueOffset) 123 if ok { 124 offset = o.Offset() 125 } 126 return int64(v) + int64(offset), nil 127 }