~mitchtbaum/cuttlefish/show-notfication

« back to all changes in this revision

Viewing changes to cuttlefish/engine.py

  • Committer: Alexander von Bremen-Kühne
  • Date: 2012-08-24 09:28:46 UTC
  • Revision ID: noneed4anick@gmail.com-20120824092846-ik6bdvzr0azudn50
Added new stimuli for monitoring startup and shutdown of cuttlefish 

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
from cuttlefish_lib.helpers import get_media_file
7
7
 
8
8
import threading
9
 
from gi.repository import Notify, Gio
 
9
from gi.repository import Notify, Gio, GObject
10
10
 
11
11
Notify.init("cuttlefish")
12
12
import logging
43
43
                        self._activeAction.interrupt()
44
44
 
45
45
 
 
46
class Engine(GObject.GObject):
 
47
        __gsignals__ = {
 
48
                        'startup': (GObject.SIGNAL_RUN_FIRST, None, ()),
 
49
                        'shutdown': (GObject.SIGNAL_RUN_FIRST, None, ())
 
50
                }
46
51
 
47
 
class Engine:
48
52
        def __init__(self):
 
53
                GObject.GObject.__init__(self)
49
54
                self._logger = logging.getLogger('cuttlefish.engine.Engine')
50
55
                self._eventMgr = EventManager()
51
56
                self._actionMgr = ActionManager()
52
57
                self._reflexes = REFLEXES
53
58
                self._settings = Gio.Settings("net.launchpad.cuttlefish")
54
 
 
55
 
                self.setup()
56
59
                        
57
60
        def on_save(self, sender, reflex):
58
61
                if reflex.record_id in self._events:
107
110
 
108
111
                self._saveId = self._reflexes.connect('save', self.on_save)
109
112
                self._delId = self._reflexes.connect('delete', self.on_delete)
 
113
                self.emit('startup')
110
114
 
111
115
                
112
116
 
113
117
        def teardown(self):
 
118
                self.emit('shutdown')
 
119
                
114
120
                self._reflexes.disconnect(self._saveId)
115
121
                self._reflexes.disconnect(self._delId)
116
122
 
150
156
        def on_handle_finished(self, tname):
151
157
                if tname in self._threads:
152
158
                        del self._threads[tname]
 
159
 
 
160
ENGINE = Engine()
 
 
b'\\ No newline at end of file'