gtfs-realtime-0.2.0.0: src/GTFS/RealTime/Protobuf/VehiclePosition/OccupancyStatus.hs
{-# LANGUAGE BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module GTFS.RealTime.Protobuf.VehiclePosition.OccupancyStatus (OccupancyStatus(..)) where
import Prelude ((+), (/), (.))
import qualified Prelude 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 OccupancyStatus = EMPTY
| MANY_SEATS_AVAILABLE
| FEW_SEATS_AVAILABLE
| STANDING_ROOM_ONLY
| CRUSHED_STANDING_ROOM_ONLY
| FULL
| NOT_ACCEPTING_PASSENGERS
deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
Prelude'.Generic)
instance P'.Mergeable OccupancyStatus
instance Prelude'.Bounded OccupancyStatus where
minBound = EMPTY
maxBound = NOT_ACCEPTING_PASSENGERS
instance P'.Default OccupancyStatus where
defaultValue = EMPTY
toMaybe'Enum :: Prelude'.Int -> P'.Maybe OccupancyStatus
toMaybe'Enum 0 = Prelude'.Just EMPTY
toMaybe'Enum 1 = Prelude'.Just MANY_SEATS_AVAILABLE
toMaybe'Enum 2 = Prelude'.Just FEW_SEATS_AVAILABLE
toMaybe'Enum 3 = Prelude'.Just STANDING_ROOM_ONLY
toMaybe'Enum 4 = Prelude'.Just CRUSHED_STANDING_ROOM_ONLY
toMaybe'Enum 5 = Prelude'.Just FULL
toMaybe'Enum 6 = Prelude'.Just NOT_ACCEPTING_PASSENGERS
toMaybe'Enum _ = Prelude'.Nothing
instance Prelude'.Enum OccupancyStatus where
fromEnum EMPTY = 0
fromEnum MANY_SEATS_AVAILABLE = 1
fromEnum FEW_SEATS_AVAILABLE = 2
fromEnum STANDING_ROOM_ONLY = 3
fromEnum CRUSHED_STANDING_ROOM_ONLY = 4
fromEnum FULL = 5
fromEnum NOT_ACCEPTING_PASSENGERS = 6
toEnum
= P'.fromMaybe
(Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.RealTime.Protobuf.VehiclePosition.OccupancyStatus")
. toMaybe'Enum
succ EMPTY = MANY_SEATS_AVAILABLE
succ MANY_SEATS_AVAILABLE = FEW_SEATS_AVAILABLE
succ FEW_SEATS_AVAILABLE = STANDING_ROOM_ONLY
succ STANDING_ROOM_ONLY = CRUSHED_STANDING_ROOM_ONLY
succ CRUSHED_STANDING_ROOM_ONLY = FULL
succ FULL = NOT_ACCEPTING_PASSENGERS
succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.RealTime.Protobuf.VehiclePosition.OccupancyStatus"
pred MANY_SEATS_AVAILABLE = EMPTY
pred FEW_SEATS_AVAILABLE = MANY_SEATS_AVAILABLE
pred STANDING_ROOM_ONLY = FEW_SEATS_AVAILABLE
pred CRUSHED_STANDING_ROOM_ONLY = STANDING_ROOM_ONLY
pred FULL = CRUSHED_STANDING_ROOM_ONLY
pred NOT_ACCEPTING_PASSENGERS = FULL
pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.RealTime.Protobuf.VehiclePosition.OccupancyStatus"
instance P'.Wire OccupancyStatus 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 OccupancyStatus
instance P'.MessageAPI msg' (msg' -> OccupancyStatus) OccupancyStatus where
getVal m' f' = f' m'
instance P'.ReflectEnum OccupancyStatus where
reflectEnum
= [(0, "EMPTY", EMPTY), (1, "MANY_SEATS_AVAILABLE", MANY_SEATS_AVAILABLE), (2, "FEW_SEATS_AVAILABLE", FEW_SEATS_AVAILABLE),
(3, "STANDING_ROOM_ONLY", STANDING_ROOM_ONLY), (4, "CRUSHED_STANDING_ROOM_ONLY", CRUSHED_STANDING_ROOM_ONLY),
(5, "FULL", FULL), (6, "NOT_ACCEPTING_PASSENGERS", NOT_ACCEPTING_PASSENGERS)]
reflectEnumInfo _
= P'.EnumInfo
(P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.OccupancyStatus") []
["GTFS", "RealTime", "Protobuf", "VehiclePosition"]
"OccupancyStatus")
["GTFS", "RealTime", "Protobuf", "VehiclePosition", "OccupancyStatus.hs"]
[(0, "EMPTY"), (1, "MANY_SEATS_AVAILABLE"), (2, "FEW_SEATS_AVAILABLE"), (3, "STANDING_ROOM_ONLY"),
(4, "CRUSHED_STANDING_ROOM_ONLY"), (5, "FULL"), (6, "NOT_ACCEPTING_PASSENGERS")]
Prelude'.True
instance P'.TextType OccupancyStatus where
tellT = P'.tellShow
getT = P'.getRead
instance P'.ToJSON OccupancyStatus where
toJSON msg'
= P'.String
(case msg' of
EMPTY -> "EMPTY"
MANY_SEATS_AVAILABLE -> "MANY_SEATS_AVAILABLE"
FEW_SEATS_AVAILABLE -> "FEW_SEATS_AVAILABLE"
STANDING_ROOM_ONLY -> "STANDING_ROOM_ONLY"
CRUSHED_STANDING_ROOM_ONLY -> "CRUSHED_STANDING_ROOM_ONLY"
FULL -> "FULL"
NOT_ACCEPTING_PASSENGERS -> "NOT_ACCEPTING_PASSENGERS")
instance P'.FromJSON OccupancyStatus where
parseJSON
= P'.withText "GTFS.RealTime.Protobuf.VehiclePosition.OccupancyStatus.OccupancyStatus"
(\ msg' ->
case msg' of
"EMPTY" -> Prelude'.return EMPTY
"MANY_SEATS_AVAILABLE" -> Prelude'.return MANY_SEATS_AVAILABLE
"FEW_SEATS_AVAILABLE" -> Prelude'.return FEW_SEATS_AVAILABLE
"STANDING_ROOM_ONLY" -> Prelude'.return STANDING_ROOM_ONLY
"CRUSHED_STANDING_ROOM_ONLY" -> Prelude'.return CRUSHED_STANDING_ROOM_ONLY
"FULL" -> Prelude'.return FULL
"NOT_ACCEPTING_PASSENGERS" -> Prelude'.return NOT_ACCEPTING_PASSENGERS
_ -> Prelude'.fail
("Invalid value " Prelude'.++ Prelude'.show msg' Prelude'.++
" for enum GTFS.RealTime.Protobuf.VehiclePosition.OccupancyStatus.OccupancyStatus"))