|
|
|
@ -10,7 +10,6 @@ import Network.XMPP.Pickle |
|
|
|
import Network.XMPP.Types |
|
|
|
import Network.XMPP.Types |
|
|
|
import Network.XMPP.Concurrent |
|
|
|
import Network.XMPP.Concurrent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sessionXML :: Element |
|
|
|
sessionXML :: Element |
|
|
|
sessionXML = pickleElem |
|
|
|
sessionXML = pickleElem |
|
|
|
(xpElemBlank "{urn:ietf:params:xml:ns:xmpp-session}session") |
|
|
|
(xpElemBlank "{urn:ietf:params:xml:ns:xmpp-session}session") |
|
|
|
@ -25,6 +24,8 @@ sessionIQ = IQRequestS $ IQRequest { iqRequestID = "sess" |
|
|
|
, iqRequestPayload = sessionXML |
|
|
|
, iqRequestPayload = sessionXML |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Sends the session IQ set element and waits for an answer. Throws an error if |
|
|
|
|
|
|
|
-- if an IQ error stanza is returned from the server. |
|
|
|
xmppStartSession :: XMPPConMonad () |
|
|
|
xmppStartSession :: XMPPConMonad () |
|
|
|
xmppStartSession = do |
|
|
|
xmppStartSession = do |
|
|
|
answer <- xmppSendIQ' "session" Nothing Set Nothing sessionXML |
|
|
|
answer <- xmppSendIQ' "session" Nothing Set Nothing sessionXML |
|
|
|
@ -32,7 +33,8 @@ xmppStartSession = do |
|
|
|
Left e -> error $ show e |
|
|
|
Left e -> error $ show e |
|
|
|
Right _ -> return () |
|
|
|
Right _ -> return () |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Sends the session IQ set element and waits for an answer. Throws an error if |
|
|
|
|
|
|
|
-- if an IQ error stanza is returned from the server. |
|
|
|
startSession :: XMPP () |
|
|
|
startSession :: XMPP () |
|
|
|
startSession = do |
|
|
|
startSession = do |
|
|
|
answer <- sendIQ' Nothing Set Nothing sessionXML |
|
|
|
answer <- sendIQ' Nothing Set Nothing sessionXML |
|
|
|
|