X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FConfiguration.hs;h=168136a58ad6adb25bc72df12404d98e52acc7fc;hb=53c5550fee7f8a39a7906545978f15876a06fbd1;hp=feefe92f3761eb2ba7dcb68859255a7c27c28b80;hpb=08fce472b305acb2cfbffbe877798378c4079cc4;p=dead%2Fhtsn-import.git diff --git a/src/Configuration.hs b/src/Configuration.hs index feefe92..168136a 100644 --- a/src/Configuration.hs +++ b/src/Configuration.hs @@ -10,16 +10,18 @@ where import System.Console.CmdArgs.Default ( Default(..) ) import System.Log ( Priority( INFO ) ) +import Backend ( Backend(..) ) +import ConnectionString ( ConnectionString ) 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 { - connection_string :: String, + backend :: Backend, + connection_string :: ConnectionString, log_file :: Maybe FilePath, log_level :: Priority, syslog :: Bool } @@ -29,10 +31,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 +46,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))