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