packages feed

haal-models-0.1.0.0: src/Haal/Models/MQTT/VerneMQInvalid.hs

-- Generated by haal-gen. Do not edit manually.
module Haal.Models.MQTT.VerneMQInvalid
    ( VerneMQInvalidInput (..)
    , VerneMQInvalidOutput (..)
    , verneMQInvalid
    ) where

import qualified Data.Set as Set
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomaton)

data VerneMQInvalidInput
    = In_Connect
    | In_ConnectNonClean
    | In_PublishQoS0Dup
    | In_PublishQoSMinus1
    | In_PublishWildCard
    | In_SubscribeWildMatch
    | In_UnSubscribeWildMatch
    | In_Subscribe
    | In_SubscribeMinus1
    | In_UnSubScribe
    | In_Disconnect
    deriving (Show, Eq, Ord, Enum, Bounded)

data VerneMQInvalidOutput
    = Out_ConnAckPacket_false_0
    | Out_ConnectionClosed__ConnAckPacket_false_2
    | Out_ConnectionClosed
    | Out_Empty
    | Out_SubAck
    | Out_UnSubAck
    | Out_Pub_my_topic_messageQos0
    deriving (Show, Eq, Ord, Enum, Bounded)

verneMQInvalid :: MealyAutomaton Int VerneMQInvalidInput VerneMQInvalidOutput
verneMQInvalid = mkMealyAutomaton delta lambda (Set.fromList [0..2]) 0
  where
    delta 0 In_Connect = 1
    delta 0 In_ConnectNonClean = 0
    delta 0 In_PublishQoS0Dup = 0
    delta 0 In_PublishQoSMinus1 = 0
    delta 0 In_PublishWildCard = 0
    delta 0 In_SubscribeWildMatch = 0
    delta 0 In_UnSubscribeWildMatch = 0
    delta 0 In_Subscribe = 0
    delta 0 In_SubscribeMinus1 = 0
    delta 0 In_UnSubScribe = 0
    delta 0 In_Disconnect = 0
    delta 1 In_Connect = 0
    delta 1 In_ConnectNonClean = 0
    delta 1 In_PublishQoS0Dup = 1
    delta 1 In_PublishQoSMinus1 = 0
    delta 1 In_PublishWildCard = 0
    delta 1 In_SubscribeWildMatch = 1
    delta 1 In_UnSubscribeWildMatch = 1
    delta 1 In_Subscribe = 2
    delta 1 In_SubscribeMinus1 = 0
    delta 1 In_UnSubScribe = 1
    delta 1 In_Disconnect = 0
    delta 2 In_Connect = 0
    delta 2 In_ConnectNonClean = 0
    delta 2 In_PublishQoS0Dup = 2
    delta 2 In_PublishQoSMinus1 = 0
    delta 2 In_PublishWildCard = 0
    delta 2 In_SubscribeWildMatch = 2
    delta 2 In_UnSubscribeWildMatch = 2
    delta 2 In_Subscribe = 2
    delta 2 In_SubscribeMinus1 = 0
    delta 2 In_UnSubScribe = 1
    delta 2 In_Disconnect = 0
    delta _ _ = error "haal-gen: undefined transition"
    lambda 0 In_Connect = Out_ConnAckPacket_false_0
    lambda 0 In_ConnectNonClean = Out_ConnectionClosed__ConnAckPacket_false_2
    lambda 0 In_PublishQoS0Dup = Out_ConnectionClosed
    lambda 0 In_PublishQoSMinus1 = Out_ConnectionClosed
    lambda 0 In_PublishWildCard = Out_ConnectionClosed
    lambda 0 In_SubscribeWildMatch = Out_ConnectionClosed
    lambda 0 In_UnSubscribeWildMatch = Out_ConnectionClosed
    lambda 0 In_Subscribe = Out_ConnectionClosed
    lambda 0 In_SubscribeMinus1 = Out_ConnectionClosed
    lambda 0 In_UnSubScribe = Out_ConnectionClosed
    lambda 0 In_Disconnect = Out_ConnectionClosed
    lambda 1 In_Connect = Out_ConnectionClosed
    lambda 1 In_ConnectNonClean = Out_ConnectionClosed
    lambda 1 In_PublishQoS0Dup = Out_Empty
    lambda 1 In_PublishQoSMinus1 = Out_ConnectionClosed
    lambda 1 In_PublishWildCard = Out_ConnectionClosed
    lambda 1 In_SubscribeWildMatch = Out_SubAck
    lambda 1 In_UnSubscribeWildMatch = Out_UnSubAck
    lambda 1 In_Subscribe = Out_SubAck
    lambda 1 In_SubscribeMinus1 = Out_ConnectionClosed
    lambda 1 In_UnSubScribe = Out_UnSubAck
    lambda 1 In_Disconnect = Out_ConnectionClosed
    lambda 2 In_Connect = Out_ConnectionClosed
    lambda 2 In_ConnectNonClean = Out_ConnectionClosed
    lambda 2 In_PublishQoS0Dup = Out_Pub_my_topic_messageQos0
    lambda 2 In_PublishQoSMinus1 = Out_ConnectionClosed
    lambda 2 In_PublishWildCard = Out_ConnectionClosed
    lambda 2 In_SubscribeWildMatch = Out_SubAck
    lambda 2 In_UnSubscribeWildMatch = Out_UnSubAck
    lambda 2 In_Subscribe = Out_SubAck
    lambda 2 In_SubscribeMinus1 = Out_ConnectionClosed
    lambda 2 In_UnSubScribe = Out_UnSubAck
    lambda 2 In_Disconnect = Out_ConnectionClosed
    lambda _ _ = error "haal-gen: undefined transition"