Browse Source

change Message picklers to work on Elements rather than nodes

update xml-types-pickle submodule
master
Philipp Balzarek 14 years ago
parent
commit
5855d61e31
  1. 3
      src/Network/XMPP.hs
  2. 16
      src/Network/XMPP/IM/Message.hs
  3. 2
      xml-types-pickle

3
src/Network/XMPP.hs

@ -150,7 +150,8 @@ import qualified Network.TLS as TLS
import Network.XMPP.Bind import Network.XMPP.Bind
import Network.XMPP.Concurrent import Network.XMPP.Concurrent
import Network.XMPP.IM.Presence hiding (presence) import Network.XMPP.IM.Presence hiding (presence)
import Network.XMPP.IM.Message hiding (message) import Network.XMPP.IM.Message
import Network.XMPP.Message
import Network.XMPP.Monad import Network.XMPP.Monad
import Network.XMPP.Presence import Network.XMPP.Presence
import Network.XMPP.SASL import Network.XMPP.SASL

16
src/Network/XMPP/IM/Message.hs

@ -15,18 +15,21 @@ data MessageThread = MessageThread
(Maybe Text) -- ^ Parent Thread (Maybe Text) -- ^ Parent Thread
data MessageSubject = MessageSubject (Maybe LangTag) Text data MessageSubject = MessageSubject (Maybe LangTag) Text
xpMessageSubject :: PU [Node] MessageSubject xpMessageSubject :: PU [Element] MessageSubject
xpMessageSubject = xpWrap (\(l, s) -> MessageSubject l s) xpMessageSubject = xpElems .
xpWrap (\(l, s) -> MessageSubject l s)
(\(MessageSubject l s) -> (l,s)) (\(MessageSubject l s) -> (l,s))
$ xpElem "{jabber:client}subject" xpLangTag $ xpContent xpId $ xpElem "{jabber:client}subject" xpLangTag $ xpContent xpId
xpMessageBody :: PU [Node] MessageBody xpMessageBody :: PU [Element] MessageBody
xpMessageBody = xpWrap (\(l, s) -> MessageBody l s) xpMessageBody = xpElems .
xpWrap (\(l, s) -> MessageBody l s)
(\(MessageBody l s) -> (l,s)) (\(MessageBody l s) -> (l,s))
$ xpElem "{jabber:client}body" xpLangTag $ xpContent xpId $ xpElem "{jabber:client}body" xpLangTag $ xpContent xpId
xpMessageThread :: PU [Node] MessageThread xpMessageThread :: PU [Element] MessageThread
xpMessageThread = xpWrap (\(t, p) -> MessageThread p t) xpMessageThread = xpElems
. xpWrap (\(t, p) -> MessageThread p t)
(\(MessageThread p t) -> (t,p)) (\(MessageThread p t) -> (t,p))
$ xpElem "{jabber:client}thread" $ xpElem "{jabber:client}thread"
(xpAttrImplied "parent" xpId) (xpAttrImplied "parent" xpId)
@ -75,3 +78,4 @@ newIM t i lang tp sbj thrd bdy = Message
++ pickle xpMessageThread thrd ++ pickle xpMessageThread thrd
++ pickle xpMessageBody bdy ++ pickle xpMessageBody bdy
} }

2
xml-types-pickle

@ -1 +1 @@
Subproject commit 73f8caedfe389646647354badc7700eccf40442f Subproject commit d0afdfea348e7dac04a13b946775be8e0feb2209
Loading…
Cancel
Save