aboutsummaryrefslogtreecommitdiff
path: root/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs
diff options
context:
space:
mode:
authorstuebinm2022-07-02 00:16:02 +0200
committerstuebinm2022-07-02 00:35:34 +0200
commit6c25964c0165530e7db6650eea79cbac99031353 (patch)
tree2b821e5e07320c211a8af0e70974cbbe6defef9e /gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs
parent6b4e8ba88f35538d62bb78b9872bc298178cf96d (diff)
gtfs realtime proof of concept
this adds a package for protobuf stuff, generated via hprotoc. Seems to work kinda fine? (the generated API is horrible though, will have to write some wrappers for that)
Diffstat (limited to '')
-rw-r--r--gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs73
1 files changed, 73 insertions, 0 deletions
diff --git a/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs b/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs
new file mode 100644
index 0000000..3bc70e5
--- /dev/null
+++ b/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs
@@ -0,0 +1,73 @@
+{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
+ #-}
+{-# OPTIONS_GHC -w #-}
+module GTFS.Realtime.VehiclePosition.VehicleStopStatus (VehicleStopStatus(..)) 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 VehicleStopStatus = INCOMING_AT
+ | STOPPED_AT
+ | IN_TRANSIT_TO
+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
+ Prelude'.Generic)
+
+instance P'.Mergeable VehicleStopStatus
+
+instance Prelude'.Bounded VehicleStopStatus where
+ minBound = INCOMING_AT
+ maxBound = IN_TRANSIT_TO
+
+instance P'.Default VehicleStopStatus where
+ defaultValue = INCOMING_AT
+
+toMaybe'Enum :: Prelude'.Int -> P'.Maybe VehicleStopStatus
+toMaybe'Enum 0 = Prelude'.Just INCOMING_AT
+toMaybe'Enum 1 = Prelude'.Just STOPPED_AT
+toMaybe'Enum 2 = Prelude'.Just IN_TRANSIT_TO
+toMaybe'Enum _ = Prelude'.Nothing
+
+instance Prelude'.Enum VehicleStopStatus where
+ fromEnum INCOMING_AT = 0
+ fromEnum STOPPED_AT = 1
+ fromEnum IN_TRANSIT_TO = 2
+ toEnum
+ = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus")
+ . toMaybe'Enum
+ succ INCOMING_AT = STOPPED_AT
+ succ STOPPED_AT = IN_TRANSIT_TO
+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus"
+ pred STOPPED_AT = INCOMING_AT
+ pred IN_TRANSIT_TO = STOPPED_AT
+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus"
+
+instance P'.Wire VehicleStopStatus 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 VehicleStopStatus
+
+instance P'.MessageAPI msg' (msg' -> VehicleStopStatus) VehicleStopStatus where
+ getVal m' f' = f' m'
+
+instance P'.ReflectEnum VehicleStopStatus where
+ reflectEnum = [(0, "INCOMING_AT", INCOMING_AT), (1, "STOPPED_AT", STOPPED_AT), (2, "IN_TRANSIT_TO", IN_TRANSIT_TO)]
+ reflectEnumInfo _
+ = P'.EnumInfo
+ (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.VehicleStopStatus") [] ["GTFS", "Realtime", "VehiclePosition"]
+ "VehicleStopStatus")
+ ["GTFS", "Realtime", "VehiclePosition", "VehicleStopStatus.hs"]
+ [(0, "INCOMING_AT"), (1, "STOPPED_AT"), (2, "IN_TRANSIT_TO")]
+ Prelude'.False
+
+instance P'.TextType VehicleStopStatus where
+ tellT = P'.tellShow
+ getT = P'.getRead \ No newline at end of file