aboutsummaryrefslogtreecommitdiff
path: root/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs
blob: bb50ff30b8c8601edf502795e3d28ddc35277c6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
 #-}
{-# OPTIONS_GHC  -w #-}
module GTFS.Realtime.Alert.SeverityLevel (SeverityLevel(..)) where
import Prelude ((+), (/), (.))
import qualified Prelude as Prelude'
import qualified Data.List as Prelude'
import qualified Data.Typeable as Prelude'
import qualified GHC.Generics as Prelude'
import qualified Data.Data as Prelude'
import qualified Text.ProtocolBuffers.Header as P'

data SeverityLevel = UNKNOWN_SEVERITY
                   | INFO
                   | WARNING
                   | SEVERE
                     deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
                               Prelude'.Generic)

instance P'.Mergeable SeverityLevel

instance Prelude'.Bounded SeverityLevel where
  minBound = UNKNOWN_SEVERITY
  maxBound = SEVERE

instance P'.Default SeverityLevel where
  defaultValue = UNKNOWN_SEVERITY

toMaybe'Enum :: Prelude'.Int -> P'.Maybe SeverityLevel
toMaybe'Enum 1 = Prelude'.Just UNKNOWN_SEVERITY
toMaybe'Enum 2 = Prelude'.Just INFO
toMaybe'Enum 3 = Prelude'.Just WARNING
toMaybe'Enum 4 = Prelude'.Just SEVERE
toMaybe'Enum _ = Prelude'.Nothing

instance Prelude'.Enum SeverityLevel where
  fromEnum UNKNOWN_SEVERITY = 1
  fromEnum INFO = 2
  fromEnum WARNING = 3
  fromEnum SEVERE = 4
  toEnum
   = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.SeverityLevel") .
      toMaybe'Enum
  succ UNKNOWN_SEVERITY = INFO
  succ INFO = WARNING
  succ WARNING = SEVERE
  succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.SeverityLevel"
  pred INFO = UNKNOWN_SEVERITY
  pred WARNING = INFO
  pred SEVERE = WARNING
  pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.SeverityLevel"

instance P'.Wire SeverityLevel where
  wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
  wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
  wireGet 14 = P'.wireGetEnum toMaybe'Enum
  wireGet ft' = P'.wireGetErr ft'
  wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
  wireGetPacked ft' = P'.wireGetErr ft'

instance P'.GPB SeverityLevel

instance P'.MessageAPI msg' (msg' -> SeverityLevel) SeverityLevel where
  getVal m' f' = f' m'

instance P'.ReflectEnum SeverityLevel where
  reflectEnum = [(1, "UNKNOWN_SEVERITY", UNKNOWN_SEVERITY), (2, "INFO", INFO), (3, "WARNING", WARNING), (4, "SEVERE", SEVERE)]
  reflectEnumInfo _
   = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.SeverityLevel") [] ["GTFS", "Realtime", "Alert"] "SeverityLevel")
      ["GTFS", "Realtime", "Alert", "SeverityLevel.hs"]
      [(1, "UNKNOWN_SEVERITY"), (2, "INFO"), (3, "WARNING"), (4, "SEVERE")]
      Prelude'.False

instance P'.TextType SeverityLevel where
  tellT = P'.tellShow
  getT = P'.getRead