X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FConfiguration.hs;fp=src%2FConfiguration.hs;h=d56cc936e6fc6983ae94ea78cc57885de27cbe54;hb=9d278c8b8eeff1a1317f2c3b0f7fdf5fb759ffb3;hp=feefe92f3761eb2ba7dcb68859255a7c27c28b80;hpb=5726138127d880a12421a78b37a178e061c46efe;p=dead%2Fhtsn-import.git diff --git a/src/Configuration.hs b/src/Configuration.hs index feefe92..d56cc93 100644 --- a/src/Configuration.hs +++ b/src/Configuration.hs @@ -10,15 +10,16 @@ where import System.Console.CmdArgs.Default ( Default(..) ) import System.Log ( Priority( INFO ) ) +import Backend ( Backend(..) ) import qualified OptionalConfiguration as OC ( OptionalConfiguration(..), merge_maybes ) - -- | The main configuration data type. This will be passed to most of -- the important functions once it has been created. data Configuration = Configuration { + backend :: Backend, connection_string :: String, log_file :: Maybe FilePath, log_level :: Priority, @@ -29,10 +30,11 @@ data Configuration = -- values. instance Default Configuration where def = Configuration { + backend = def, connection_string = def, log_file = def, log_level = INFO, - syslog = def } + syslog = def } -- | Merge a Configuration with an OptionalConfiguration. This is more @@ -43,6 +45,7 @@ merge_optional :: Configuration -> Configuration merge_optional cfg opt_cfg = Configuration + (merge (backend cfg) (OC.backend opt_cfg)) (merge (connection_string cfg) (OC.connection_string opt_cfg)) (OC.merge_maybes (log_file cfg) (OC.log_file opt_cfg)) (merge (log_level cfg) (OC.log_level opt_cfg))