X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e7a4be1d20a33dbd97acfa021db2f8b82bf7a844..b9d9e49b2d990fbd32f647c20ad3f7ddcaf17d02:/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py diff --git a/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py b/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py new file mode 100644 index 00000000..e44c71f0 --- /dev/null +++ b/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py @@ -0,0 +1,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] +