diff options
Diffstat (limited to 'dcoppython/test/signal.py')
-rw-r--r-- | dcoppython/test/signal.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/dcoppython/test/signal.py b/dcoppython/test/signal.py new file mode 100644 index 00000000..f9d087c6 --- /dev/null +++ b/dcoppython/test/signal.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +# This is an example of how to use DCOP Signals with +# the dcoppython KDE bindings. + +# something goes wrong if you don't import pcop first. +# Have to do this till I find out why... +import pcop +import pydcop + +class MyObject(pydcop.DCOPServerObject): + """DCOP server object""" + + def __init__(self, id='pythontest'): + pydcop.DCOPServerObject.__init__(self, id) + + # DCOP needs types, so we need to initialise the object with the methods that + # it's going to provide. + self.setMethods( [('void test(QString)', self.test)]) + + def test(self, data): + print "New Weather for " + data + +appid = pydcop.registerAs('dcopSignalTest') +print "Server: %s starting" % appid + +pytest = MyObject() + +sender = "KWeatherService" +senderObj = "WeatherService" +signal = "fileUpdate(QString)" +receiverObj = "pythontest" +slot = "test(QString)" +volatile = 1 + +pydcop.connectDCOPSignal(sender,senderObj,signal,receiverObj,slot,volatile) +# Enter event loop +while 1: + pydcop.processEvents() + + |