github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_ais_nav_status.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  // Navigational status of AIS vessel, enum duplicated from AIS standard, https://gpsd.gitlab.io/gpsd/AIVDM.html
    11  type AIS_NAV_STATUS uint64
    12  
    13  const (
    14  	// Under way using engine.
    15  	UNDER_WAY                           AIS_NAV_STATUS = 0
    16  	AIS_NAV_ANCHORED                    AIS_NAV_STATUS = 1
    17  	AIS_NAV_UN_COMMANDED                AIS_NAV_STATUS = 2
    18  	AIS_NAV_RESTRICTED_MANOEUVERABILITY AIS_NAV_STATUS = 3
    19  	AIS_NAV_DRAUGHT_CONSTRAINED         AIS_NAV_STATUS = 4
    20  	AIS_NAV_MOORED                      AIS_NAV_STATUS = 5
    21  	AIS_NAV_AGROUND                     AIS_NAV_STATUS = 6
    22  	AIS_NAV_FISHING                     AIS_NAV_STATUS = 7
    23  	AIS_NAV_SAILING                     AIS_NAV_STATUS = 8
    24  	AIS_NAV_RESERVED_HSC                AIS_NAV_STATUS = 9
    25  	AIS_NAV_RESERVED_WIG                AIS_NAV_STATUS = 10
    26  	AIS_NAV_RESERVED_1                  AIS_NAV_STATUS = 11
    27  	AIS_NAV_RESERVED_2                  AIS_NAV_STATUS = 12
    28  	AIS_NAV_RESERVED_3                  AIS_NAV_STATUS = 13
    29  	// Search And Rescue Transponder.
    30  	AIS_NAV_AIS_SART AIS_NAV_STATUS = 14
    31  	// Not available (default).
    32  	AIS_NAV_UNKNOWN AIS_NAV_STATUS = 15
    33  )
    34  
    35  var labels_AIS_NAV_STATUS = map[AIS_NAV_STATUS]string{
    36  	UNDER_WAY:                           "UNDER_WAY",
    37  	AIS_NAV_ANCHORED:                    "AIS_NAV_ANCHORED",
    38  	AIS_NAV_UN_COMMANDED:                "AIS_NAV_UN_COMMANDED",
    39  	AIS_NAV_RESTRICTED_MANOEUVERABILITY: "AIS_NAV_RESTRICTED_MANOEUVERABILITY",
    40  	AIS_NAV_DRAUGHT_CONSTRAINED:         "AIS_NAV_DRAUGHT_CONSTRAINED",
    41  	AIS_NAV_MOORED:                      "AIS_NAV_MOORED",
    42  	AIS_NAV_AGROUND:                     "AIS_NAV_AGROUND",
    43  	AIS_NAV_FISHING:                     "AIS_NAV_FISHING",
    44  	AIS_NAV_SAILING:                     "AIS_NAV_SAILING",
    45  	AIS_NAV_RESERVED_HSC:                "AIS_NAV_RESERVED_HSC",
    46  	AIS_NAV_RESERVED_WIG:                "AIS_NAV_RESERVED_WIG",
    47  	AIS_NAV_RESERVED_1:                  "AIS_NAV_RESERVED_1",
    48  	AIS_NAV_RESERVED_2:                  "AIS_NAV_RESERVED_2",
    49  	AIS_NAV_RESERVED_3:                  "AIS_NAV_RESERVED_3",
    50  	AIS_NAV_AIS_SART:                    "AIS_NAV_AIS_SART",
    51  	AIS_NAV_UNKNOWN:                     "AIS_NAV_UNKNOWN",
    52  }
    53  
    54  var values_AIS_NAV_STATUS = map[string]AIS_NAV_STATUS{
    55  	"UNDER_WAY":                           UNDER_WAY,
    56  	"AIS_NAV_ANCHORED":                    AIS_NAV_ANCHORED,
    57  	"AIS_NAV_UN_COMMANDED":                AIS_NAV_UN_COMMANDED,
    58  	"AIS_NAV_RESTRICTED_MANOEUVERABILITY": AIS_NAV_RESTRICTED_MANOEUVERABILITY,
    59  	"AIS_NAV_DRAUGHT_CONSTRAINED":         AIS_NAV_DRAUGHT_CONSTRAINED,
    60  	"AIS_NAV_MOORED":                      AIS_NAV_MOORED,
    61  	"AIS_NAV_AGROUND":                     AIS_NAV_AGROUND,
    62  	"AIS_NAV_FISHING":                     AIS_NAV_FISHING,
    63  	"AIS_NAV_SAILING":                     AIS_NAV_SAILING,
    64  	"AIS_NAV_RESERVED_HSC":                AIS_NAV_RESERVED_HSC,
    65  	"AIS_NAV_RESERVED_WIG":                AIS_NAV_RESERVED_WIG,
    66  	"AIS_NAV_RESERVED_1":                  AIS_NAV_RESERVED_1,
    67  	"AIS_NAV_RESERVED_2":                  AIS_NAV_RESERVED_2,
    68  	"AIS_NAV_RESERVED_3":                  AIS_NAV_RESERVED_3,
    69  	"AIS_NAV_AIS_SART":                    AIS_NAV_AIS_SART,
    70  	"AIS_NAV_UNKNOWN":                     AIS_NAV_UNKNOWN,
    71  }
    72  
    73  // MarshalText implements the encoding.TextMarshaler interface.
    74  func (e AIS_NAV_STATUS) MarshalText() ([]byte, error) {
    75  	if name, ok := labels_AIS_NAV_STATUS[e]; ok {
    76  		return []byte(name), nil
    77  	}
    78  	return []byte(strconv.Itoa(int(e))), nil
    79  }
    80  
    81  // UnmarshalText implements the encoding.TextUnmarshaler interface.
    82  func (e *AIS_NAV_STATUS) UnmarshalText(text []byte) error {
    83  	if value, ok := values_AIS_NAV_STATUS[string(text)]; ok {
    84  		*e = value
    85  	} else if value, err := strconv.Atoi(string(text)); err == nil {
    86  		*e = AIS_NAV_STATUS(value)
    87  	} else {
    88  		return fmt.Errorf("invalid label '%s'", text)
    89  	}
    90  	return nil
    91  }
    92  
    93  // String implements the fmt.Stringer interface.
    94  func (e AIS_NAV_STATUS) String() string {
    95  	val, _ := e.MarshalText()
    96  	return string(val)
    97  }