packages feed

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"