summaryrefslogtreecommitdiff
path: root/sleekxmpp/xmlstream/handler/callback.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/xmlstream/handler/callback.py')
-rw-r--r--sleekxmpp/xmlstream/handler/callback.py79
1 files changed, 0 insertions, 79 deletions
diff --git a/sleekxmpp/xmlstream/handler/callback.py b/sleekxmpp/xmlstream/handler/callback.py
deleted file mode 100644
index 7e3388f1..00000000
--- a/sleekxmpp/xmlstream/handler/callback.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
- sleekxmpp.xmlstream.handler.callback
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Part of SleekXMPP: The Sleek XMPP Library
-
- :copyright: (c) 2011 Nathanael C. Fritz
- :license: MIT, see LICENSE for more details
-"""
-
-from sleekxmpp.xmlstream.handler.base import BaseHandler
-
-
-class Callback(BaseHandler):
-
- """
- The Callback handler will execute a callback function with
- matched stanzas.
-
- The handler may execute the callback either during stream
- processing or during the main event loop.
-
- Callback functions are all executed in the same thread, so be aware if
- you are executing functions that will block for extended periods of
- time. Typically, you should signal your own events using the SleekXMPP
- object's :meth:`~sleekxmpp.xmlstream.xmlstream.XMLStream.event()`
- method to pass the stanza off to a threaded event handler for further
- processing.
-
-
- :param string name: The name of the handler.
- :param matcher: A :class:`~sleekxmpp.xmlstream.matcher.base.MatcherBase`
- derived object for matching stanza objects.
- :param pointer: The function to execute during callback.
- :param bool thread: **DEPRECATED.** Remains only for
- backwards compatibility.
- :param bool once: Indicates if the handler should be used only
- once. Defaults to False.
- :param bool instream: Indicates if the callback should be executed
- during stream processing instead of in the
- main event loop.
- :param stream: The :class:`~sleekxmpp.xmlstream.xmlstream.XMLStream`
- instance this handler should monitor.
- """
-
- def __init__(self, name, matcher, pointer, thread=False,
- once=False, instream=False, stream=None):
- BaseHandler.__init__(self, name, matcher, stream)
- self._pointer = pointer
- self._once = once
- self._instream = instream
-
- def prerun(self, payload):
- """Execute the callback during stream processing, if
- the callback was created with ``instream=True``.
-
- :param payload: The matched
- :class:`~sleekxmpp.xmlstream.stanzabase.ElementBase` object.
- """
- if self._once:
- self._destroy = True
- if self._instream:
- self.run(payload, True)
-
- def run(self, payload, instream=False):
- """Execute the callback function with the matched stanza payload.
-
- :param payload: The matched
- :class:`~sleekxmpp.xmlstream.stanzabase.ElementBase` object.
- :param bool instream: Force the handler to execute during stream
- processing. This should only be used by
- :meth:`prerun()`. Defaults to ``False``.
- """
- if not self._instream or instream:
- self._pointer(payload)
- if self._once:
- self._destroy = True
- del self._pointer