View Single Post
Posts: 125 | Thanked: 77 times | Joined on Oct 2009 @ Sao Paulo, Brazil
#136
When you register in dbus listening for a signal you provide a callback function. When the signal is emited the function is called. There is no power sucking!

This code works for you:
Code:
#!/usr/bin/env python2.5
# -*- coding: utf-8 -*-
import sys
import dbus
from dbus.mainloop.qt import DBusQtMainLoop

from PyQt4.QtGui import *
from PyQt4.QtCore import *


class Daemon:
    def __init__(self):
        print "Daemon"
        loop = DBusQtMainLoop(set_as_default=True)
        system_bus = dbus.SystemBus()
        system_bus.add_signal_receiver(self.test_signal,
                                       path='/com/nokia/mce/signal',
                                    signal_name='display_status_ind',
                                    dbus_interface='com.nokia.mce.signal')
        print "Daemon ok"


    def test_signal(self, *params):
        print "1", len(params)
        print params


class test:
    def __init__(self):
        app = QApplication(sys.argv)
        Daemon()
        app.exec_()


if __name__ == "__main__":
    test()
 

The Following 4 Users Say Thank You to jaguilar For This Useful Post: