X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bc2ca7e050e29371cf973fc4a780f99e7c36c87c..0528c4567801f2ca68168d3f9a9d3771ca2eec5c:/lib/dvb_ci/dvbci_camgr.cpp diff --git a/lib/dvb_ci/dvbci_camgr.cpp b/lib/dvb_ci/dvbci_camgr.cpp index 1d172b1c..ef69ed4d 100644 --- a/lib/dvb_ci/dvbci_camgr.cpp +++ b/lib/dvb_ci/dvbci_camgr.cpp @@ -5,12 +5,12 @@ eDVBCICAManagerSession::eDVBCICAManagerSession(eDVBCISlot *tslot) { slot = tslot; - slot->ca_manager = this; + slot->setCAManager(this); } eDVBCICAManagerSession::~eDVBCICAManagerSession() { - slot->ca_manager = 0; + slot->setCAManager(NULL); } int eDVBCICAManagerSession::receivedAPDU(const unsigned char *tag, const void *data, int len) @@ -31,7 +31,9 @@ int eDVBCICAManagerSession::receivedAPDU(const unsigned char *tag, const void *d printf("%04x ", (((const unsigned char*)data)[i]<<8)|(((const unsigned char*)data)[i+1])); caids.push_back((((const unsigned char*)data)[i]<<8)|(((const unsigned char*)data)[i+1])); } + std::sort(caids.begin(), caids.end()); printf("\n"); + eDVBCIInterfaces::getInstance()->recheckPMTHandlers(); break; default: printf("unknown APDU tag 9F 80 %02x\n", tag[2]); @@ -63,8 +65,8 @@ int eDVBCICAManagerSession::sendCAPMT(unsigned char *data, int len) { const unsigned char tag[3]={0x9F, 0x80, 0x32}; // ca_pmt - sendAPDU(tag, data, len); - + sendAPDU(tag, data, len); + return 0; }