Stub parseIncomingMessage
authorJoachim Breitner <mail@joachim-breitner.de>
Fri, 4 Jul 2008 22:36:09 +0000 (22:36 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Fri, 4 Jul 2008 22:36:09 +0000 (22:36 +0000)
Partty.hs

index ab68a75..517b603 100644 (file)
--- a/Partty.hs
+++ b/Partty.hs
@@ -157,7 +157,7 @@ runner h dcb ncb = fix $ \loop ps d -> do
 getNextUserMessage :: Handle -> ParttyState -> IO (Either DayMessage NightMessage, ParttyState)
 getNextUserMessage h ps = do
        line <- hGetLine h
-       e <- undefined {- parseIncomingMessage -} line
+       let e = parseIncomingMessage line
        let ps' = undefined {- updateState -} e ps
        case e of
                InternalMessage ue -> getNextUserMessage h ps'
@@ -165,7 +165,12 @@ getNextUserMessage h ps = do
                NightMessage nm -> return (Right nm, ps')
 
 parseIncomingMessage :: String -> IncomingMessage
-parseIncomingMessage = undefined
+parseIncomingMessage msg = case id of
+       71 -> InternalMessage (Welcome)
+       _  -> error $ "Unkown or unparseable message " ++ msg
+ where (id_s : num_params : rest) = words msg
+       id = read id_s
+       param_s = take (read num_params) rest
 
 sendClientMessage :: Handle -> ClientMessage -> IO ()
 sendClientMessage h msg = hPutStrLn h (toString msg)