aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py
blob: e44c71f0c8163cb2b03adfb42bb9cad77dd0cef2 (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
from Screens.Ci import MMIDialog
from enigma import eTimer, eSocket_UI

class SocketMMIMessageHandler:
	def __init__(self):
		self.session = None
		self.dlgs = { }
		self.handler = eSocket_UI.getInstance()
		self.handler.socketStateChanged.get().append(self.socketStateChanged)

	def setSession(self, session):
		self.session = session

	def connected(self):
		return self.handler.getState(0)

	def getName(self):
		return self.handler.getName(0)

	def startMMI(self):
		slot = 0
		self.dlgs[slot] = self.session.openWithCallback(self.dlgClosed, MMIDialog, slot, 2, self.handler, _("wait for mmi..."))

	def socketStateChanged(self, slot):
		if slot in self.dlgs:
			self.dlgs[slot].ciStateChanged()
		elif self.handler.availableMMI(slot) == 1:
			if self.session:
				self.dlgs[slot] = self.session.openWithCallback(self.dlgClosed, MMIDialog, slot, 3, self.handler, _("wait for mmi..."))

	def dlgClosed(self, slot):
		if slot in self.dlgs:
			del self.dlgs[slot]