aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py
blob: a7640df3a46e9aefb02907baeed0d8e3de63e4f6 (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
from Screens.Ci import MMIDialog
import socketmmi

class SocketMMIMessageHandler:
	def __init__(self):
		self.session = None
		self.dlgs = { }
		socketmmi.getSocketStateChangedCallbackList().append(self.socketStateChanged)

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

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

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

	def startMMI(self):
		slot = 0
		self.dlgs[slot] = self.session.openWithCallback(self.dlgClosed, MMIDialog, slot, 2, socketmmi, _("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, socketmmi, _("wait for mmi..."))

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