reset CI when opening CI Menu and ci is not initialized yet
return 0;
}
+int eDVBCIInterfaces::getSlotState(int slotid)
+{
+ eDVBCISlot *slot;
+
+ if( (slot = getSlot(slotid)) == 0 )
+ return eDVBCISlot::stateInvalid;
+
+ return slot->getState();
+}
+
int eDVBCIInterfaces::reset(int slotid)
{
eDVBCISlot *slot;
void recheckPMTHandlers();
void gotPMT(eDVBServicePMTHandler *pmthandler);
void ciRemoved(eDVBCISlot *slot);
+ int getSlotState(int slot);
static eDVBCIInterfaces *getInstance();
int eDVBCI_UI::getState(int slot)
{
if (slot < MAX_SLOTS)
+ {
+ if (eDVBCIInterfaces::getInstance()->getSlotState(slot) == eDVBCISlot::stateInvalid)
+ eDVBCIInterfaces::getInstance()->reset(slot);
return slotdata[slot].state;
+ }
return 0;
}
print "do nothing - wait"
elif self.tag == "MENU":
print "answer MENU"
- eDVBCI_UI.getInstance().answerMenu(self.slotid, self["entries"].getCurrent()[1])
+ cur = self["entries"].getCurrent()
+ if cur:
+ eDVBCI_UI.getInstance().answerMenu(self.slotid, cur[1])
+ else:
+ eDVBCI_UI.getInstance().answerMenu(self.slotid, 0)
self.showWait()
elif self.tag == "LIST":
print "answer LIST"