{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE CPP, MultiParamTypeClasses #-}
module WeekDaze.OutputConfiguration.Verbosity(
tag,
range
) where
import qualified Control.DeepSeq
import qualified Data.Default
import qualified Distribution.Verbosity
import qualified Text.XML.HXT.Arrow.Pickle as HXT
import qualified Text.XML.HXT.Arrow.Pickle.Schema
#ifdef USE_HDBC
import qualified Data.Convertible
import qualified Database.HDBC
instance Data.Convertible.Convertible Database.HDBC.SqlValue Distribution.Verbosity.Verbosity where
safeConvert = fmap read . Data.Convertible.safeConvert
#endif /* USE_HDBC */
tag :: String
tag = "verbosity"
instance Data.Default.Default Distribution.Verbosity.Verbosity where
def = Distribution.Verbosity.normal
instance HXT.XmlPickler Distribution.Verbosity.Verbosity where
xpickle = HXT.xpWrap (read, show) . HXT.xpAttr tag . HXT.xpTextDT . Text.XML.HXT.Arrow.Pickle.Schema.scEnum $ map show range
instance Control.DeepSeq.NFData Distribution.Verbosity.Verbosity where
rnf _ = ()
range :: [Distribution.Verbosity.Verbosity]
range = [minBound .. maxBound]