->[Annotation]-- ^ annotations added by previous handlers
->IO[(Stanza,[Annotation])]-- ^ modified stanzas and
->IO[(XmppElement,[Annotation])]-- ^ modified stanzas and
-- /additional/ annotations
typeResource=Text
@ -56,17 +57,17 @@ getAnnotation = foldr (\(Annotation a) b -> maybe b Just $ cast a) Nothing . snd
@@ -56,17 +57,17 @@ getAnnotation = foldr (\(Annotation a) b -> maybe b Just $ cast a) Nothing . snd
dataPlugin'=Plugin'
{-- | Resulting stanzas and additional Annotations
inHandler::Stanza
inHandler::XmppElement
->[Annotation]
->IO[(Stanza,[Annotation])]
,outHandler::Stanza->IO(EitherXmppFailure())
->IO[(XmppElement,[Annotation])]
,outHandler::XmppElement->IO(EitherXmppFailure())
-- | In order to allow plugins to tie the knot (Plugin / Session) we pass
-- the plugin the completed Session once it exists
,onSessionUp::Session->IO()
}
typePlugin=(Stanza->IO(EitherXmppFailure()))-- ^ pass stanza to next
-- plugin
typePlugin=(XmppElement->IO(EitherXmppFailure()))-- ^ pass stanza to
@ -212,6 +214,17 @@ _isFull = prism' id (\j -> if isFull j then Just j else Nothing)
@@ -212,6 +214,17 @@ _isFull = prism' id (\j -> if isFull j then Just j else Nothing)