Browse Source

Remove Pickle helpers from Network.Xmpp.Internal

master
Jon Kristensen 13 years ago
parent
commit
e1ff362e70
  1. 3
      source/Network/Xmpp/Internal.hs
  2. 24
      source/Network/Xmpp/Xep/ServiceDiscovery.hs

3
source/Network/Xmpp/Internal.hs

@ -28,9 +28,6 @@ module Network.Xmpp.Internal @@ -28,9 +28,6 @@ module Network.Xmpp.Internal
, pushStanza
, pullStanza
, pushIQ
, pickleElem
, unpickleElem
, xpLangTag
, SaslHandler(..)
, prepCredentials
, saslInit

24
source/Network/Xmpp/Xep/ServiceDiscovery.hs

@ -163,3 +163,27 @@ queryItems to node session = do @@ -163,3 +163,27 @@ 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")

Loading…
Cancel
Save