aboutsummaryrefslogtreecommitdiff
path: root/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs
blob: 050ac88e5af4423c674664c53e504cd293144dab (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
77
78
79
80
81
82
83
{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
 #-}
{-# OPTIONS_GHC  -w #-}
module GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship (ScheduleRelationship(..)) 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 ScheduleRelationship = SCHEDULED
                          | SKIPPED
                          | NO_DATA
                          | UNSCHEDULED
                            deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
                                      Prelude'.Generic)

instance P'.Mergeable ScheduleRelationship

instance Prelude'.Bounded ScheduleRelationship where
  minBound = SCHEDULED
  maxBound = UNSCHEDULED

instance P'.Default ScheduleRelationship where
  defaultValue = SCHEDULED

toMaybe'Enum :: Prelude'.Int -> P'.Maybe ScheduleRelationship
toMaybe'Enum 0 = Prelude'.Just SCHEDULED
toMaybe'Enum 1 = Prelude'.Just SKIPPED
toMaybe'Enum 2 = Prelude'.Just NO_DATA
toMaybe'Enum 3 = Prelude'.Just UNSCHEDULED
toMaybe'Enum _ = Prelude'.Nothing

instance Prelude'.Enum ScheduleRelationship where
  fromEnum SCHEDULED = 0
  fromEnum SKIPPED = 1
  fromEnum NO_DATA = 2
  fromEnum UNSCHEDULED = 3
  toEnum
   = P'.fromMaybe
      (Prelude'.error
        "hprotoc generated code: toEnum failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship")
      . toMaybe'Enum
  succ SCHEDULED = SKIPPED
  succ SKIPPED = NO_DATA
  succ NO_DATA = UNSCHEDULED
  succ _
   = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship"
  pred SKIPPED = SCHEDULED
  pred NO_DATA = SKIPPED
  pred UNSCHEDULED = NO_DATA
  pred _
   = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship"

instance P'.Wire ScheduleRelationship 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 ScheduleRelationship

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

instance P'.ReflectEnum ScheduleRelationship where
  reflectEnum = [(0, "SCHEDULED", SCHEDULED), (1, "SKIPPED", SKIPPED), (2, "NO_DATA", NO_DATA), (3, "UNSCHEDULED", UNSCHEDULED)]
  reflectEnumInfo _
   = P'.EnumInfo
      (P'.makePNF (P'.pack ".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship") []
        ["GTFS", "Realtime", "TripUpdate", "StopTimeUpdate"]
        "ScheduleRelationship")
      ["GTFS", "Realtime", "TripUpdate", "StopTimeUpdate", "ScheduleRelationship.hs"]
      [(0, "SCHEDULED"), (1, "SKIPPED"), (2, "NO_DATA"), (3, "UNSCHEDULED")]
      Prelude'.False

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