aboutsummaryrefslogtreecommitdiff
path: root/gtfs/GTFS/Realtime/Alert/SeverityLevel.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/Alert/SeverityLevel.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 'gtfs/GTFS/Realtime/Alert/SeverityLevel.hs')
-rw-r--r--gtfs/GTFS/Realtime/Alert/SeverityLevel.hs76
1 files changed, 76 insertions, 0 deletions
diff --git a/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs b/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs
new file mode 100644
index 0000000..bb50ff3
--- /dev/null
+++ b/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs
@@ -0,0 +1,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 \ No newline at end of file