Commit 98c295d69c2717e9ab0cb503739eeba992c72d82
Updated for latest hsemail module.
| |   |
| {-# LANGUAGE GeneralizedNewtypeDeriving, DeriveDataTypeable #-} |
| 1 | 2 | {- | |
| 2 | 3 | Module : Postmaster.FSM.SessionState |
| 3 | 4 | Copyright : (c) 2004-2008 by Peter Simons |
| … | … | |
| 13 | 13 | |
| 14 | 14 | import Postmaster.Base |
| 15 | 15 | import Text.ParserCombinators.Parsec.Rfc2821 |
| import Data.Typeable |
| 16 | 17 | |
| newtype SmtpSessionState = SSST SessionState |
| deriving (Typeable) |
|
| 17 | 21 | -- |Local Variable: @SESSIONSTATE :: 'SessionState'@ |
| 18 | 22 | |
| 19 | 23 | sessionState :: SmtpdVariable |
| 20 | 24 | sessionState = defineLocal "sessionstate" |
| 21 | 25 | |
| 22 | 26 | setSessionState :: SessionState -> Smtpd () |
| setSessionState sst = sessionState (`setVar` sst) |
| setSessionState sst = sessionState (`setVar` (SSST sst)) |
| 24 | 28 | |
| 25 | 29 | getSessionState :: Smtpd SessionState |
| getSessionState = sessionState (`getVarDef` Unknown) |
| getSessionState = sessionState (`getVarDef` (SSST Unknown)) >>= \(SSST sst) -> return sst |