From 7eb8cc74a2c48dca74fb81a6cd09ab110497ad9e Mon Sep 17 00:00:00 2001 From: Philipp Balzarek Date: Mon, 18 Feb 2013 16:22:33 +0100 Subject: [PATCH] remove unecessary dependency on xml-pickler 0.2 --- source/Network/Xmpp/Marshal.hs | 9 +------- source/Network/Xmpp/Xep/ServiceDiscovery.hs | 25 +-------------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/source/Network/Xmpp/Marshal.hs b/source/Network/Xmpp/Marshal.hs index 3e9ab5e..8d47217 100644 --- a/source/Network/Xmpp/Marshal.hs +++ b/source/Network/Xmpp/Marshal.hs @@ -224,14 +224,7 @@ unpickleElem :: PU [Node] a -> Element -> Either UnpickleError a unpickleElem p x = unpickle (xpNodeElem p) x xpNodeElem :: PU [Node] a -> PU Element a -xpNodeElem xp = PU { pickleTree = \x -> Prelude.head $ (pickleTree xp x) >>= \y -> - case y of - NodeElement e -> [e] - _ -> [] - , unpickleTree = \x -> case unpickleTree xp $ [NodeElement x] of - Left l -> Left l - Right (a,(_,c)) -> Right (a,(Nothing,c)) - } +xpNodeElem = xpRoot . xpUnliftElems mbl :: Maybe [a] -> [a] mbl (Just l) = l diff --git a/source/Network/Xmpp/Xep/ServiceDiscovery.hs b/source/Network/Xmpp/Xep/ServiceDiscovery.hs index be654ff..5bcb84a 100644 --- a/source/Network/Xmpp/Xep/ServiceDiscovery.hs +++ b/source/Network/Xmpp/Xep/ServiceDiscovery.hs @@ -26,6 +26,7 @@ import Data.XML.Types import Network.Xmpp import Network.Xmpp.Internal +import Network.Xmpp.Marshal import Control.Concurrent.STM.TMVar data DiscoError = DiscoNoQueryElement @@ -163,27 +164,3 @@ queryItems to node session = do Right r -> Right r where queryBody = pickleElem xpQueryItems (node, []) - --- Given a pickler and an object, produces an Element. -pickleElem :: PU [Node] a -> a -> Element -pickleElem p = pickle $ xpNodeElem p - --- Given a pickler and an element, produces an object. -unpickleElem :: PU [Node] a -> Element -> Either UnpickleError a -unpickleElem p x = unpickle (xpNodeElem p) x - -xpNodeElem :: PU [Node] a -> PU Element a -xpNodeElem xp = PU { pickleTree = \x -> Prelude.head $ (pickleTree xp x) >>= \y -> - case y of - NodeElement e -> [e] - _ -> [] - , unpickleTree = \x -> case unpickleTree xp $ [NodeElement x] of - Left l -> Left l - Right (a,(_,c)) -> Right (a,(Nothing,c)) - } - -xpLangTag :: PU [Attribute] (Maybe LangTag) -xpLangTag = xpAttrImplied xmlLang xpPrim - -xmlLang :: Name -xmlLang = Name "lang" (Just "http://www.w3.org/XML/1998/namespace") (Just "xml")