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