1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#!/usr/bin/env python
from twisted.internet import reactor
from txdbus import client
def onReply( rep ):
print 'Remote method call result: ', rep
def onFailed(err):
print 'Failed: ', err.getErrorMessage()
dc = client.connect(reactor)
dc.addCallback(lambda cli: cli.getRemoteObject( 'org.example',
'/MyObjPath' ))
class DBSerializeable(object):
dbusOrder = ['text', 'number']
def __init__(self, txt, num):
self.text = txt
self.number = num
serialObj = DBSerializeable( 'Foobar', 1 )
dc.addCallback( lambda ro: ro.callRemote('exampleMethod',
serialObj))
dc.addCallbacks(onReply, onFailed)
dc.addBoth( lambda _: reactor.stop() )
reactor.run()
|