summaryrefslogtreecommitdiff
path: root/Presence/NestingXML.hs
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2014-02-10 22:38:46 -0500
committerjoe <joe@jerkface.net>2014-02-10 22:38:46 -0500
commit2d6dae13be15b61778ed35b3501df94a8e9dd78f (patch)
tree2ba13a1cc31886776614770a43ed18c60bfb39e3 /Presence/NestingXML.hs
parentafff51ac877ce8807801334745f1679dbf6440d0 (diff)
more xmppServer work
Diffstat (limited to 'Presence/NestingXML.hs')
-rw-r--r--Presence/NestingXML.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/Presence/NestingXML.hs b/Presence/NestingXML.hs
index bf12c9ae..c26e3d5c 100644
--- a/Presence/NestingXML.hs
+++ b/Presence/NestingXML.hs
@@ -79,6 +79,16 @@ awaitCloser lvl = do
79 withXML $ \xml -> do 79 withXML $ \xml -> do
80 loop 80 loop
81 81
82doUntilCloser :: Monad m
83 => Int -> (Event -> NestingXML o m ()) -> NestingXML o m ()
84doUntilCloser lvl thunk = do
85 fix $ \loop -> do
86 lvl' <- nesting
87 when (lvl' >= lvl) $ do
88 withXML $ \xml -> do
89 thunk xml
90 loop
91
82nextElement :: Monad m => NestingXML o m (Maybe Event) 92nextElement :: Monad m => NestingXML o m (Maybe Event)
83nextElement = do 93nextElement = do
84 lvl <- nesting 94 lvl <- nesting