From afcd75475e72bbe28c89c8a4d1edbd5366a9f33a Mon Sep 17 00:00:00 2001
From: Philipp Balzarek
Date: Wed, 9 May 2012 13:49:57 +0200
Subject: [PATCH] Change message and presence payload from [Element] to [Node]
for easier pickling
---
src/Network/XMPP.hs | 3 ++-
src/Network/XMPP/Marshal.hs | 10 +++++-----
src/Network/XMPP/Types.hs | 8 ++++----
src/Tests.hs | 2 +-
4 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/Network/XMPP.hs b/src/Network/XMPP.hs
index 85285ea..97b8885 100644
--- a/src/Network/XMPP.hs
+++ b/src/Network/XMPP.hs
@@ -150,7 +150,8 @@ import qualified Network.TLS as TLS
import Network.XMPP.Bind
import Network.XMPP.Concurrent
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.Presence
import Network.XMPP.SASL
diff --git a/src/Network/XMPP/Marshal.hs b/src/Network/XMPP/Marshal.hs
index b10db9d..3d257fc 100644
--- a/src/Network/XMPP/Marshal.hs
+++ b/src/Network/XMPP/Marshal.hs
@@ -48,10 +48,10 @@ xpMessage = xpWrap
(xpAttrImplied "id" xpPrim)
(xpAttrImplied "from" xpPrim)
(xpAttrImplied "to" xpPrim)
- (xpAttrImplied xmlLang xpPrim)
+ xpLangTag
-- TODO: NS?
)
- (xpAll xpElemVerbatim)
+ (xpId)
)
xpPresence :: PU [Node] Presence
@@ -66,7 +66,7 @@ xpPresence = xpWrap
xpLangTag
(xpAttrImplied "type" xpPrim)
)
- (xpAll xpElemVerbatim)
+ (xpId)
)
xpIQRequest :: PU [Node] IQRequest
@@ -145,7 +145,7 @@ xpMessageError = xpWrap
(xpAttrImplied xmlLang xpPrim)
-- TODO: NS?
)
- (xp2Tuple xpStanzaError (xpAll xpElemVerbatim))
+ (xp2Tuple xpStanzaError xpId)
)
xpPresenceError :: PU [Node] PresenceError
@@ -162,7 +162,7 @@ xpPresenceError = xpWrap
xpLangTag
(xpAttrFixed "type" "error")
)
- (xp2Tuple xpStanzaError (xpAll xpElemVerbatim))
+ (xp2Tuple xpStanzaError xpId)
)
xpIQError :: PU [Node] IQError
diff --git a/src/Network/XMPP/Types.hs b/src/Network/XMPP/Types.hs
index b77fd99..42bec2a 100644
--- a/src/Network/XMPP/Types.hs
+++ b/src/Network/XMPP/Types.hs
@@ -168,7 +168,7 @@ data Message = Message { messageID :: Maybe StanzaId
, messageTo :: Maybe JID
, messageLangTag :: Maybe LangTag
, messageType :: MessageType
- , messagePayload :: [Element]
+ , messagePayload :: [Node]
}
deriving (Show)
@@ -178,7 +178,7 @@ data MessageError = MessageError { messageErrorID :: Maybe StanzaId
, messageErrorTo :: Maybe JID
, messageErrorLangTag :: Maybe LangTag
, messageErrorStanzaError :: StanzaError
- , messageErrorPayload :: [Element]
+ , messageErrorPayload :: [Node]
}
deriving (Show)
@@ -249,7 +249,7 @@ data Presence = Presence { presenceID :: Maybe StanzaId
, presenceTo :: Maybe JID
, presenceLangTag :: Maybe LangTag
, presenceType :: Maybe PresenceType
- , presencePayload :: [Element]
+ , presencePayload :: [Node]
}
deriving (Show)
@@ -263,7 +263,7 @@ data PresenceError = PresenceError { presenceErrorID :: Maybe StanzaId
, presenceErrorTo :: Maybe JID
, presenceErrorLangTag :: Maybe LangTag
, presenceErrorStanzaError :: StanzaError
- , presenceErrorPayload :: [Element]
+ , presenceErrorPayload :: [Node]
}
deriving (Show)
diff --git a/src/Tests.hs b/src/Tests.hs
index 4b4532d..a4b6a37 100644
--- a/src/Tests.hs
+++ b/src/Tests.hs
@@ -77,7 +77,7 @@ autoAccept = forever $ do
simpleMessage :: JID -> Text -> Message
simpleMessage to txt = message
{ messageTo = Just to
- , messagePayload = [Element "body"
+ , messagePayload = [NodeElement $ Element "body"
[]
[NodeContent $ ContentText txt]
]