module Main where import CmdLine import qualified Role.User import qualified Role.Developer import qualified Role.Downloader import Graphviz import Replay import Server import Network.Socket import System.Exit main :: IO () main = withSocketsDo $ do c <- getCmdLine case mode c of UserMode o -> Role.User.run o >>= exitWith DeveloperMode o -> Role.Developer.run o DownloadMode o -> Role.Downloader.run o GraphvizMode o -> graphviz o ReplayMode o -> replay o ServerMode o -> server o