module Main where import Control.Monad import DDNS.Client.MakeReq import OpenSSL import System.Console.ParseArgs data Options = Help | Command deriving (Show, Eq, Ord) arginfo :: [Arg Options] arginfo = [ Arg { argIndex = Help , argAbbr = Just 'h' , argName = Nothing , argData = Nothing , argDesc = "print this help." } , Arg { argIndex = Command , argAbbr = Nothing , argName = Nothing , argData = argDataDefaulted "COMMAND" ArgtypeString "update" , argDesc = "command to the client (default: \"update\")." } ] main :: IO () main = withOpenSSL $ do m <- parseArgsIO ArgsComplete arginfo when (gotArg m Help) $ usageError m "" case getRequiredArg m Command of "makereq" -> makeReq _ -> usageError m ""