aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb_ci/dvbci.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-03-10 12:04:41 +0100
committerghost <andreas.monzner@multimedia-labs.de>2009-03-10 12:04:41 +0100
commite57f94d8f1156deee0874d24c33c98d600c9af0d (patch)
treeadb06dfb62deb087d158ddeb3e5c53ca8761e835 /lib/dvb_ci/dvbci.cpp
parente3673ba34436cd5dd868277c5ea4c4e0f22df575 (diff)
downloadenigma2-e57f94d8f1156deee0874d24c33c98d600c9af0d.tar.gz
enigma2-e57f94d8f1156deee0874d24c33c98d600c9af0d.zip
fix readCICaIds call
Diffstat (limited to 'lib/dvb_ci/dvbci.cpp')
-rw-r--r--lib/dvb_ci/dvbci.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp
index a68edea8..a0166355 100644
--- a/lib/dvb_ci/dvbci.cpp
+++ b/lib/dvb_ci/dvbci.cpp
@@ -921,13 +921,18 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid)
char tmp[255];
snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
- return 0;
}
- int idx=0;
- ePyObject list = PyList_New(slot->possible_caids.size());
- for (caidSet::iterator it = slot->possible_caids.begin(); it != slot->possible_caids.end(); ++it)
- PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it));
- return list;
+ else
+ {
+ int idx=0;
+ eDVBCICAManagerSession *ca_manager = slot->getCAManager();
+ const std::vector<uint16_t> &ci_caids = ca_manager->getCAIDs();
+ ePyObject list = PyList_New(ci_caids.size());
+ for (std::vector<uint16_t>::const_iterator it = ci_caids.begin(); it != ci_caids.end(); ++it)
+ PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it));
+ return list;
+ }
+ return 0;
}
int eDVBCISlot::send(const unsigned char *data, size_t len)