From 98652711568f9545526722e0090c05ae91b87e15 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Sat, 20 May 2006 08:13:34 +0000 Subject: [PATCH] fixes for support more than one CI --- lib/dvb_ci/dvbci.cpp | 8 +++----- lib/dvb_ci/dvbci_mmi.cpp | 12 +++++------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index 1be4232..6f532be 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -359,7 +359,7 @@ void eDVBCIInterfaces::removePMTHandler(eDVBServicePMTHandler *pmthandler) if (slot && !sameServiceExist) { - if (slot->getNumOfServices() > 1) // fixme make it dependend of "ci can handle more than one service" + if (slot->getNumOfServices() > 1) { eDebug("[eDVBCIInterfaces] remove last pmt handler for service %s send empty capmt", service_to_remove.toString().c_str()); @@ -437,8 +437,7 @@ void eDVBCISlot::data(int what) eDVBCIInterfaces::getInstance()->ciRemoved(this); eDVBCISession::deleteSessions(this); notifier->setRequested(eSocketNotifier::Read); - //HACK - eDVBCI_UI::getInstance()->setState(0,0); + eDVBCI_UI::getInstance()->setState(getSlotID(),0); } return; } @@ -446,8 +445,7 @@ void eDVBCISlot::data(int what) if(state != stateInserted) { eDebug("ci inserted"); state = stateInserted; -// HACK - eDVBCI_UI::getInstance()->setState(0,1); + eDVBCI_UI::getInstance()->setState(getSlotID(),1); notifier->setRequested(eSocketNotifier::Read|eSocketNotifier::Priority); /* enable PRI to detect removal or errors */ } diff --git a/lib/dvb_ci/dvbci_mmi.cpp b/lib/dvb_ci/dvbci_mmi.cpp index d1103c5..d3f564d 100644 --- a/lib/dvb_ci/dvbci_mmi.cpp +++ b/lib/dvb_ci/dvbci_mmi.cpp @@ -68,7 +68,7 @@ int eDVBCIMMISession::receivedAPDU(const unsigned char *tag, const void *data, i printf("enq-text: %s\n",str); - eDVBCI_UI::getInstance()->mmiScreenEnq(0, blind, alen, (char*)convertDVBUTF8(str).c_str()); + eDVBCI_UI::getInstance()->mmiScreenEnq(slot->getSlotID(), blind, alen, (char*)convertDVBUTF8(str).c_str()); break; } @@ -83,11 +83,10 @@ int eDVBCIMMISession::receivedAPDU(const unsigned char *tag, const void *data, i break; int n=*d++; - //FIXME: slotid if(tag[2] == 0x09) //menu - eDVBCI_UI::getInstance()->mmiScreenBegin(0, 0); + eDVBCI_UI::getInstance()->mmiScreenBegin(slot->getSlotID(), 0); else //list - eDVBCI_UI::getInstance()->mmiScreenBegin(0, 1); + eDVBCI_UI::getInstance()->mmiScreenBegin(slot->getSlotID(), 1); if (n == 0xFF) n=0; @@ -110,14 +109,13 @@ int eDVBCIMMISession::receivedAPDU(const unsigned char *tag, const void *data, i memcpy(str, ((char*)d), textlen); str[textlen] = '\0'; - eDVBCI_UI::getInstance()->mmiScreenAddText(0, pos++, (char*)convertDVBUTF8(str).c_str()); + eDVBCI_UI::getInstance()->mmiScreenAddText(slot->getSlotID(), pos++, (char*)convertDVBUTF8(str).c_str()); while (textlen--) printf("%c", *d++); printf("\n"); } - //FIXME: slotid - eDVBCI_UI::getInstance()->mmiScreenFinish(0); + eDVBCI_UI::getInstance()->mmiScreenFinish(slot->getSlotID()); break; } default: -- 2.7.4