packages feed

bein-0.3: Bein/Daemon/Types.hs

module Bein.Daemon.Types (
  module Bein.Types,
  DaemonState(..)
) where

import Bein.Types
    ( BeinError(..),
      AuthenticationFailed(..),
      Authentication(..),
      ConfigurationError(..),
      Configuration(..),
      BeinState(..),
      BeinM,
      ExecutionID(..),
      configField,
      unExecutionID,
      errorNumber,
      errorName )
import Database.HDBC.PostgreSQL ( Connection )
import Control.Concurrent.STM ( TVar )
import Control.Concurrent.QSem ( QSem )

data DaemonState = State { stDb :: Connection, stConfigT :: TVar Configuration, stSem :: QSem }

instance BeinState DaemonState where
  configT = stConfigT
  db = stDb