--
module Configuration (
- Cfg(..)
+ Cfg(..),
+ default_config,
+ merge_optional
)
where
sendmail_path :: String,
from_address :: Maybe String,
to_address :: Maybe String,
- verbose :: Bool }
-
+ verbose :: Bool,
+ usernames :: [String] }
+ deriving (Show)
default_config :: Cfg
sendmail_path = "/usr/sbin/sendmail",
from_address = Nothing,
to_address = Nothing,
- verbose = False }
+ verbose = False,
+ usernames = [] }
merge_optional :: Cfg -> OC.OptionalCfg -> Cfg
merge_optional cfg opt_cfg =
(merge' (from_address cfg) (OC.from_address opt_cfg))
(merge' (to_address cfg) (OC.to_address opt_cfg))
(merge (verbose cfg) (OC.verbose opt_cfg))
+ ((usernames cfg) ++ (OC.usernames opt_cfg))
where
merge :: a -> Maybe a -> a
merge x Nothing = x