diff --git a/src/Network/XMPP.hs b/src/Network/XMPP.hs index 97b8885..85285ea 100644 --- a/src/Network/XMPP.hs +++ b/src/Network/XMPP.hs @@ -150,8 +150,7 @@ 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 -import Network.XMPP.Message +import Network.XMPP.IM.Message hiding (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 3d257fc..b10db9d 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) - xpLangTag + (xpAttrImplied xmlLang xpPrim) -- TODO: NS? ) - (xpId) + (xpAll xpElemVerbatim) ) xpPresence :: PU [Node] Presence @@ -66,7 +66,7 @@ xpPresence = xpWrap xpLangTag (xpAttrImplied "type" xpPrim) ) - (xpId) + (xpAll xpElemVerbatim) ) xpIQRequest :: PU [Node] IQRequest @@ -145,7 +145,7 @@ xpMessageError = xpWrap (xpAttrImplied xmlLang xpPrim) -- TODO: NS? ) - (xp2Tuple xpStanzaError xpId) + (xp2Tuple xpStanzaError (xpAll xpElemVerbatim)) ) xpPresenceError :: PU [Node] PresenceError @@ -162,7 +162,7 @@ xpPresenceError = xpWrap xpLangTag (xpAttrFixed "type" "error") ) - (xp2Tuple xpStanzaError xpId) + (xp2Tuple xpStanzaError (xpAll xpElemVerbatim)) ) xpIQError :: PU [Node] IQError diff --git a/src/Network/XMPP/Types.hs b/src/Network/XMPP/Types.hs index 42bec2a..b77fd99 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 :: [Node] + , messagePayload :: [Element] } deriving (Show) @@ -178,7 +178,7 @@ data MessageError = MessageError { messageErrorID :: Maybe StanzaId , messageErrorTo :: Maybe JID , messageErrorLangTag :: Maybe LangTag , messageErrorStanzaError :: StanzaError - , messageErrorPayload :: [Node] + , messageErrorPayload :: [Element] } deriving (Show) @@ -249,7 +249,7 @@ data Presence = Presence { presenceID :: Maybe StanzaId , presenceTo :: Maybe JID , presenceLangTag :: Maybe LangTag , presenceType :: Maybe PresenceType - , presencePayload :: [Node] + , presencePayload :: [Element] } deriving (Show) @@ -263,7 +263,7 @@ data PresenceError = PresenceError { presenceErrorID :: Maybe StanzaId , presenceErrorTo :: Maybe JID , presenceErrorLangTag :: Maybe LangTag , presenceErrorStanzaError :: StanzaError - , presenceErrorPayload :: [Node] + , presenceErrorPayload :: [Element] } deriving (Show) diff --git a/src/Tests.hs b/src/Tests.hs index a4b6a37..4b4532d 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 = [NodeElement $ Element "body" + , messagePayload = [Element "body" [] [NodeContent $ ContentText txt] ]