@@ -5,7 +5,7 @@ import Options.Applicative
5import ProjectM36.Daemon.Config
5import ProjectM36.Daemon.Config
7parseArgs :: Parser DaemonConfig
7parseArgs :: Parser DaemonConfig
8−parseArgs = DaemonConfig <$> parsePersistenceStrategy <*> parseDatabaseName
8+parseArgs = DaemonConfig <$> parsePersistenceStrategy <*> parseDatabaseName <*> parseHostname <*> parsePort
10parsePersistenceStrategy :: Parser PersistenceStrategy
10parsePersistenceStrategy :: Parser PersistenceStrategy
11parsePersistenceStrategy = CrashSafePersistence <$> (dbdirOpt <* fsyncOpt) <|>
11parsePersistenceStrategy = CrashSafePersistence <$> (dbdirOpt <* fsyncOpt) <|>
@@ -25,6 +25,18 @@ parseDatabaseName :: Parser DatabaseName
25parseDatabaseName = strOption (short 'n' <>
25parseDatabaseName = strOption (short 'n' <>
26 long "database" <>
26 long "database" <>
27 metavar "DATABASE_NAME")
27 metavar "DATABASE_NAME")
29+parseHostname :: Parser Hostname
30+parseHostname = strOption (short 'h' <>
32+ metavar "HOST_NAME" <>
33+ value (bindHost defaultDaemonConfig))
35+parsePort :: Parser Port
36+parsePort = option auto (short 'p' <>
38+ metavar "PORT_NUMBER" <>
39+ value (bindPort defaultDaemonConfig))
29parseConfig :: IO DaemonConfig
41parseConfig :: IO DaemonConfig
30parseConfig = execParser $ info parseArgs idm
42parseConfig = execParser $ info parseArgs idm