aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Converter/Poll.py
blob: 23ce1336c9bb0415b0f37df8e1df1a6973bbe64f (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
from enigma import eTimer

class Poll(object):
	def __init__(self):
		self.__poll_timer = eTimer()
		self.__poll_timer.callback.append(self.poll)
		self.__interval = 1000
		self.__enabled = False

	def __setInterval(self, interval):
		self.__interval = interval
		if self.__enabled:
			self.__poll_timer.start(self.__interval)
		else:
			self.__poll_timer.stop()
	
	def __setEnable(self, enabled):
		self.__enabled = enabled
		self.poll_interval = self.__interval

	poll_interval = property(lambda self: self.__interval, __setInterval)
	poll_enabled = property(lambda self: self.__enabled, __setEnable)

	def poll(self):
		self.changed((self.CHANGED_POLL,))

	def doSuspend(self, suspended):
		if self.__enabled:
			if suspended:
				self.__poll_timer.stop()
			else:
				self.poll()
				self.poll_enabled = True

	def destroy(self):
		self.__poll_timer.callback.remove(self.poll)