diff options
author | Nathan Fritz <fritzy@netflint.net> | 2009-06-03 22:56:51 +0000 |
---|---|---|
committer | Nathan Fritz <fritzy@netflint.net> | 2009-06-03 22:56:51 +0000 |
commit | 96b103b27599e5af247c1e3b95d62c80c1e32a63 (patch) | |
tree | 0527b1607b16adb020759ee9a944e1b22e3e0e6b /sleekxmpp/xmlstream/handler/callback.py | |
download | slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.tar.gz slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.tar.bz2 slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.tar.xz slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.zip |
moved seesmic branch to trunk
Diffstat (limited to 'sleekxmpp/xmlstream/handler/callback.py')
-rw-r--r-- | sleekxmpp/xmlstream/handler/callback.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sleekxmpp/xmlstream/handler/callback.py b/sleekxmpp/xmlstream/handler/callback.py new file mode 100644 index 00000000..e3ef8ccc --- /dev/null +++ b/sleekxmpp/xmlstream/handler/callback.py @@ -0,0 +1,20 @@ +from . import base +import threading + +class Callback(base.BaseHandler): + + def __init__(self, name, matcher, pointer, thread=False, once=False): + base.BaseHandler.__init__(self, name, matcher) + self._pointer = pointer + self._thread = thread + self._once = once + + def run(self, payload): + base.BaseHandler.run(self, payload) + if self._thread: + x = threading.Thread(name="Callback_%s" % self.name, target=self._pointer, args=(payload,)) + x.start() + else: + self._pointer(payload) + if self._once: + self._destroy = True |