blob: f9d087c66f5e70c4f1bc02c74bbb9f05dddd87f4 (
plain)
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
33
34
35
36
37
38
39
40
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()
|