haal-models-0.1.0.0: src/Haal/Models/MQTT/HbmqttSimple.hs
-- Generated by haal-gen. Do not edit manually.
module Haal.Models.MQTT.HbmqttSimple
( HbmqttSimpleInput (..)
, HbmqttSimpleOutput (..)
, hbmqttSimple
) where
import qualified Data.Set as Set
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomaton)
data HbmqttSimpleInput
= In_Connect
| In_Publish
| In_Subscribe
| In_UnSubScribe
| In_Ping
| In_Disconnect
| In_DisconnectTCP
deriving (Show, Eq, Ord, Enum, Bounded)
data HbmqttSimpleOutput
= Out_ConnAckPacket
| Out_Empty
| Out_ConnectionClosed
| Out_PubAckPacket
| Out_SubAckPacket
| Out_UnSubAckPacket
| Out_PingRespPacket
| Out_PublishPacket__PubAckPacket
deriving (Show, Eq, Ord, Enum, Bounded)
hbmqttSimple :: MealyAutomaton Int HbmqttSimpleInput HbmqttSimpleOutput
hbmqttSimple = mkMealyAutomaton delta lambda (Set.fromList [0..4]) 0
where
delta 0 In_Connect = 1
delta 0 In_Publish = 2
delta 0 In_Subscribe = 2
delta 0 In_UnSubScribe = 2
delta 0 In_Ping = 2
delta 0 In_Disconnect = 2
delta 0 In_DisconnectTCP = 3
delta 1 In_Connect = 1
delta 1 In_Publish = 1
delta 1 In_Subscribe = 4
delta 1 In_UnSubScribe = 1
delta 1 In_Ping = 1
delta 1 In_Disconnect = 3
delta 1 In_DisconnectTCP = 3
delta 3 In_Connect = 1
delta 3 In_Publish = 3
delta 3 In_Subscribe = 3
delta 3 In_UnSubScribe = 3
delta 3 In_Ping = 3
delta 3 In_Disconnect = 3
delta 3 In_DisconnectTCP = 3
delta 2 In_Connect = 2
delta 2 In_Publish = 2
delta 2 In_Subscribe = 2
delta 2 In_UnSubScribe = 2
delta 2 In_Ping = 2
delta 2 In_Disconnect = 2
delta 2 In_DisconnectTCP = 3
delta 4 In_Connect = 4
delta 4 In_Publish = 4
delta 4 In_Subscribe = 4
delta 4 In_UnSubScribe = 1
delta 4 In_Ping = 4
delta 4 In_Disconnect = 3
delta 4 In_DisconnectTCP = 3
delta _ _ = error "haal-gen: undefined transition"
lambda 0 In_Connect = Out_ConnAckPacket
lambda 0 In_Publish = Out_Empty
lambda 0 In_Subscribe = Out_Empty
lambda 0 In_UnSubScribe = Out_Empty
lambda 0 In_Ping = Out_Empty
lambda 0 In_Disconnect = Out_Empty
lambda 0 In_DisconnectTCP = Out_ConnectionClosed
lambda 1 In_Connect = Out_Empty
lambda 1 In_Publish = Out_PubAckPacket
lambda 1 In_Subscribe = Out_SubAckPacket
lambda 1 In_UnSubScribe = Out_UnSubAckPacket
lambda 1 In_Ping = Out_PingRespPacket
lambda 1 In_Disconnect = Out_ConnectionClosed
lambda 1 In_DisconnectTCP = Out_ConnectionClosed
lambda 3 In_Connect = Out_ConnAckPacket
lambda 3 In_Publish = Out_ConnectionClosed
lambda 3 In_Subscribe = Out_ConnectionClosed
lambda 3 In_UnSubScribe = Out_ConnectionClosed
lambda 3 In_Ping = Out_ConnectionClosed
lambda 3 In_Disconnect = Out_ConnectionClosed
lambda 3 In_DisconnectTCP = Out_ConnectionClosed
lambda 2 In_Connect = Out_Empty
lambda 2 In_Publish = Out_Empty
lambda 2 In_Subscribe = Out_Empty
lambda 2 In_UnSubScribe = Out_Empty
lambda 2 In_Ping = Out_Empty
lambda 2 In_Disconnect = Out_Empty
lambda 2 In_DisconnectTCP = Out_ConnectionClosed
lambda 4 In_Connect = Out_Empty
lambda 4 In_Publish = Out_PublishPacket__PubAckPacket
lambda 4 In_Subscribe = Out_SubAckPacket
lambda 4 In_UnSubScribe = Out_UnSubAckPacket
lambda 4 In_Ping = Out_PingRespPacket
lambda 4 In_Disconnect = Out_ConnectionClosed
lambda 4 In_DisconnectTCP = Out_ConnectionClosed
lambda _ _ = error "haal-gen: undefined transition"