+ def showScreen(self):
+ screen = eDVBCI_UI.getInstance().getMMIScreen(self.slotid)
+
+ list = [ ]
+
+ self.tag = screen[0][0]
+
+ for entry in screen:
+ if entry[0] == "TITLE":
+ self["title"].setText(entry[1])
+ elif entry[0] == "SUBTITLE":
+ self["subtitle"].setText(entry[1])
+ elif entry[0] == "BOTTOM":
+ self["bottom"].setText(entry[1])
+ elif entry[0] == "TEXT":
+ self.addEntry(list, entry)
+ elif entry[0] == "PIN":
+ self.addEntry(list, entry)
+
+ self.updateList(list)
+
+ def TimerCheck(self):
+
+ if self.action == 0: #reset
+ self.closeMmi()
+ if self.action == 1: #init
+ self.closeMmi()
+
+ #module still there ?
+ if eDVBCI_UI.getInstance().getState(self.slotid) != 2:
+ self.closeMmi()
+
+ #mmi session still active ?
+ if eDVBCI_UI.getInstance().getMMIState(self.slotid) != 1:
+ self.closeMmi()
+
+ #new screen available?
+ if eDVBCI_UI.getInstance().availableMMI(self.slotid) == 1:
+ self.showScreen()
+
+ #FIXME: check for mmi-session closed
+
+ def __init__(self, session, slotid, action):
+ Screen.__init__(self, session)
+
+ print "ciMMI with action" + str(action)
+
+ self.slotid = slotid
+
+ self.Timer = eTimer()
+ self.Timer.timeout.get().append(self.TimerCheck)
+ self.Timer.start(1000)
+
+ #else the skins fails
+ self["title"] = Label("")
+ self["subtitle"] = Label("")
+ self["bottom"] = Label("")
+ self["entries"] = MenuList([ ])
+ #self["entries"] = CiConfigList([ ])
+
+ self["actions"] = NumberActionMap(["SetupActions"],