packages feed

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"