github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_mav_odid_id_type.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 MAV_ODID_ID_TYPE uint64 11 12 const ( 13 // No type defined. 14 MAV_ODID_ID_TYPE_NONE MAV_ODID_ID_TYPE = 0 15 // Manufacturer Serial Number (ANSI/CTA-2063 format). 16 MAV_ODID_ID_TYPE_SERIAL_NUMBER MAV_ODID_ID_TYPE = 1 17 // CAA (Civil Aviation Authority) registered ID. Format: [ICAO Country Code].[CAA Assigned ID]. 18 MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID MAV_ODID_ID_TYPE = 2 19 // UTM (Unmanned Traffic Management) assigned UUID (RFC4122). 20 MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID MAV_ODID_ID_TYPE = 3 21 // A 20 byte ID for a specific flight/session. The exact ID type is indicated by the first byte of uas_id and these type values are managed by ICAO. 22 MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID MAV_ODID_ID_TYPE = 4 23 ) 24 25 var labels_MAV_ODID_ID_TYPE = map[MAV_ODID_ID_TYPE]string{ 26 MAV_ODID_ID_TYPE_NONE: "MAV_ODID_ID_TYPE_NONE", 27 MAV_ODID_ID_TYPE_SERIAL_NUMBER: "MAV_ODID_ID_TYPE_SERIAL_NUMBER", 28 MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID: "MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID", 29 MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID: "MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID", 30 MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID: "MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID", 31 } 32 33 var values_MAV_ODID_ID_TYPE = map[string]MAV_ODID_ID_TYPE{ 34 "MAV_ODID_ID_TYPE_NONE": MAV_ODID_ID_TYPE_NONE, 35 "MAV_ODID_ID_TYPE_SERIAL_NUMBER": MAV_ODID_ID_TYPE_SERIAL_NUMBER, 36 "MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID": MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID, 37 "MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID": MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID, 38 "MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID": MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID, 39 } 40 41 // MarshalText implements the encoding.TextMarshaler interface. 42 func (e MAV_ODID_ID_TYPE) MarshalText() ([]byte, error) { 43 if name, ok := labels_MAV_ODID_ID_TYPE[e]; ok { 44 return []byte(name), nil 45 } 46 return []byte(strconv.Itoa(int(e))), nil 47 } 48 49 // UnmarshalText implements the encoding.TextUnmarshaler interface. 50 func (e *MAV_ODID_ID_TYPE) UnmarshalText(text []byte) error { 51 if value, ok := values_MAV_ODID_ID_TYPE[string(text)]; ok { 52 *e = value 53 } else if value, err := strconv.Atoi(string(text)); err == nil { 54 *e = MAV_ODID_ID_TYPE(value) 55 } else { 56 return fmt.Errorf("invalid label '%s'", text) 57 } 58 return nil 59 } 60 61 // String implements the fmt.Stringer interface. 62 func (e MAV_ODID_ID_TYPE) String() string { 63 val, _ := e.MarshalText() 64 return string(val) 65 }