2013-09-20 18:50:51 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
"""
|
|
|
|
SleekXMPP: The Sleek XMPP Library
|
|
|
|
Copyright (C) 2011 Dann Martens
|
|
|
|
This file is part of SleekXMPP.
|
|
|
|
|
|
|
|
See the file LICENSE for copying permission.
|
|
|
|
"""
|
|
|
|
|
|
|
|
from sleekxmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \
|
|
|
|
ANY_ALL, Future
|
|
|
|
import time
|
|
|
|
|
|
|
|
class Boomerang(Endpoint):
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
def FQN(self):
|
|
|
|
return 'boomerang'
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
@remote
|
|
|
|
def throw(self):
|
|
|
|
print "Duck!"
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
|
|
|
session = Remote.new_session('kangaroo@xmpp.org/rpc', '*****')
|
|
|
|
|
2013-09-20 18:50:51 +00:00
|
|
|
session.new_handler(ANY_ALL, Boomerang)
|
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
boomerang = session.new_proxy('kangaroo@xmpp.org/rpc', Boomerang)
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
callback = Future()
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
boomerang.async(callback).throw()
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
time.sleep(10)
|
2013-09-20 18:50:51 +00:00
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
session.close()
|
2013-09-20 18:50:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-13 10:58:20 +00:00
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|
2013-09-20 18:50:51 +00:00
|
|
|
|