aboutsummaryrefslogtreecommitdiff
path: root/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.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/TripDescriptor/ScheduleRelationship.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/TripDescriptor/ScheduleRelationship.hs91
1 files changed, 91 insertions, 0 deletions
diff --git a/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs b/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs
new file mode 100644
index 0000000..2a4c150
--- /dev/null
+++ b/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
+ #-}
+{-# OPTIONS_GHC -w #-}
+module GTFS.Realtime.TripDescriptor.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
+ | ADDED
+ | UNSCHEDULED
+ | CANCELED
+ | REPLACEMENT
+ | DUPLICATED
+ 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 = DUPLICATED
+
+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 ADDED
+toMaybe'Enum 2 = Prelude'.Just UNSCHEDULED
+toMaybe'Enum 3 = Prelude'.Just CANCELED
+toMaybe'Enum 5 = Prelude'.Just REPLACEMENT
+toMaybe'Enum 6 = Prelude'.Just DUPLICATED
+toMaybe'Enum _ = Prelude'.Nothing
+
+instance Prelude'.Enum ScheduleRelationship where
+ fromEnum SCHEDULED = 0
+ fromEnum ADDED = 1
+ fromEnum UNSCHEDULED = 2
+ fromEnum CANCELED = 3
+ fromEnum REPLACEMENT = 5
+ fromEnum DUPLICATED = 6
+ toEnum
+ = P'.fromMaybe
+ (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship")
+ . toMaybe'Enum
+ succ SCHEDULED = ADDED
+ succ ADDED = UNSCHEDULED
+ succ UNSCHEDULED = CANCELED
+ succ CANCELED = REPLACEMENT
+ succ REPLACEMENT = DUPLICATED
+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship"
+ pred ADDED = SCHEDULED
+ pred UNSCHEDULED = ADDED
+ pred CANCELED = UNSCHEDULED
+ pred REPLACEMENT = CANCELED
+ pred DUPLICATED = REPLACEMENT
+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.TripDescriptor.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, "ADDED", ADDED), (2, "UNSCHEDULED", UNSCHEDULED), (3, "CANCELED", CANCELED),
+ (5, "REPLACEMENT", REPLACEMENT), (6, "DUPLICATED", DUPLICATED)]
+ reflectEnumInfo _
+ = P'.EnumInfo
+ (P'.makePNF (P'.pack ".transit_realtime.TripDescriptor.ScheduleRelationship") [] ["GTFS", "Realtime", "TripDescriptor"]
+ "ScheduleRelationship")
+ ["GTFS", "Realtime", "TripDescriptor", "ScheduleRelationship.hs"]
+ [(0, "SCHEDULED"), (1, "ADDED"), (2, "UNSCHEDULED"), (3, "CANCELED"), (5, "REPLACEMENT"), (6, "DUPLICATED")]
+ Prelude'.False
+
+instance P'.TextType ScheduleRelationship where
+ tellT = P'.tellShow
+ getT = P'.getRead \ No newline at end of file