bein-0.3: Bein/Minion/Types.hs
module Bein.Minion.Types (
module Bein.Types,
State(..),
Settings(..)
) where
import Database.HDBC.PostgreSQL ( Connection )
import Control.Concurrent.STM ( TVar )
import System.Posix.Types ( ProcessID )
import Bein.Types
( BeinError(..),
AuthenticationFailed(..),
Authentication(..),
ConfigurationError(..),
Configuration(..),
BeinState(..),
BeinM,
ExecutionID(..),
configField,
unExecutionID,
errorNumber,
errorName )
data Settings = Settings { setVerbose :: Bool,
setScratchDir :: FilePath,
setExecution :: ExecutionID
} deriving Show
data State = State { stDb :: Connection,
stConfigT :: TVar Configuration,
stSettings :: Settings,
stMinionPid :: TVar (Maybe ProcessID)
}
instance BeinState State where
configT = stConfigT
db = stDb