packages feed

pontarius-xmpp-0.0.2.0: Test.hs

-- module Test where

import Control.Concurrent.Chan (Chan, readChan, writeChan)
import Network.XMPP.PontariusXMPP
import Data.XML.Types
import qualified Data.Text as DT
import Data.Maybe

host = "test.pontarius.org"
user = "sprint1"
server = "test.pontarius.org"
port = 5222
resource = "pontarius"
password = ""

main :: IO ()
main =
  do (co, ci) <- connect host port -- TODO: In, Out
                 (jid (Just user) server (Just resource)) password
     writeChan co $ presenceEvent DoNotDisturb (presenceStatus "Pontarius XMPP 0.1 Alpha 2 Test")
     loop ci

loop :: Chan ClientInEvent -> IO ()
loop c =
  do e <- readChan c
     processEvent e
     loop c

  where
    processEvent :: ClientInEvent -> IO ()
    processEvent (CIEIQGet (i, f, t, e))
      | (nameNamespace $ elementName e) /= Nothing &&
        (DT.unpack $ fromJust (nameNamespace $ elementName e)) ==
        "http://jabber.org/protocol/disco#info" = putStrLn "Disco info!"
      | otherwise = putStrLn $ ">>>>>>>>>> " ++ (show e)