From 663df8b68d461fe8137367977afa7fefc63f1838 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Mon, 22 May 2006 20:04:08 +0000 Subject: [PATCH 1/1] better cast --- lib/dvb/sec.cpp | 4 ++-- lib/dvb_ci/dvbci_ui.cpp | 1 + lib/dvb_ci/dvbci_ui.h | 2 ++ lib/python/Screens/Ci.py | 12 ++++++++---- lib/python/enigma_python.i | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index f91824dc..70c742a2 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -1147,10 +1147,10 @@ PyObject *eDVBSatelliteEquipmentControl::get_exclusive_satellites(int tu1, int t // check for rotor dependency p1->m_frontend->getData(eDVBFrontend::SATPOS_DEPENDS_PTR, tmp1); if (tmp1 != -1) - p1 = (void*)tmp1; + p1 = (eDVBRegisteredFrontend*)tmp1; p2->m_frontend->getData(eDVBFrontend::SATPOS_DEPENDS_PTR, tmp2); if (tmp2 != -1) - p2 = (void*)tmp2; + p2 = (eDVBRegisteredFrontend*)tmp2; if (p1 != p2) { int tu1_mask = 1 << p1->m_frontend->getID(), diff --git a/lib/dvb_ci/dvbci_ui.cpp b/lib/dvb_ci/dvbci_ui.cpp index 23911453..306bcd13 100644 --- a/lib/dvb_ci/dvbci_ui.cpp +++ b/lib/dvb_ci/dvbci_ui.cpp @@ -217,6 +217,7 @@ int eDVBCI_UI::mmiScreenFinish(int slot) { printf("eDVBCI_UI::mmiScreenFinish\n"); slotdata[slot].mmiScreenReady = 1; + /*emit*/ mmiAvail(slot); } return 0; } diff --git a/lib/dvb_ci/dvbci_ui.h b/lib/dvb_ci/dvbci_ui.h index 3db215fa..640a3b9f 100644 --- a/lib/dvb_ci/dvbci_ui.h +++ b/lib/dvb_ci/dvbci_ui.h @@ -6,6 +6,7 @@ #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200112L #include +#include #define MAX_SLOTS 4 @@ -27,6 +28,7 @@ class eDVBCI_UI ~eDVBCI_UI(); #endif public: + PSignal1 mmiAvail; #ifndef SWIG eDVBCI_UI(); ~eDVBCI_UI(); diff --git a/lib/python/Screens/Ci.py b/lib/python/Screens/Ci.py index ecc56044..9bf5b168 100644 --- a/lib/python/Screens/Ci.py +++ b/lib/python/Screens/Ci.py @@ -209,11 +209,10 @@ class CiMmi(Screen): #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 class CiSelection(Screen): @@ -258,7 +257,10 @@ class CiSelection(Screen): def cancel(self): self.Timer.stop() self.close() - + + def mmiAvail(self, slot): + print "mmi avail slot", slot + def __init__(self, session): #FIXME support for one ci only Screen.__init__(self, session) @@ -276,3 +278,5 @@ class CiSelection(Screen): self.Timer = eTimer() self.Timer.timeout.get().append(self.TimerCheck) self.Timer.start(1000) + + eDVBCI_UI.getInstance().mmiAvail.get().append(self.mmiAvail) diff --git a/lib/python/enigma_python.i b/lib/python/enigma_python.i index 0ca55bb9..21f2b2ec 100644 --- a/lib/python/enigma_python.i +++ b/lib/python/enigma_python.i @@ -142,7 +142,6 @@ typedef long time_t; %template(eServiceCenterPtr) ePtr; %include - // TODO: embed these... %immutable eConsoleAppContainer::appClosed; %immutable eConsoleAppContainer::dataAvail; @@ -153,6 +152,7 @@ typedef long time_t; %immutable eComponentScan::newService; %immutable pNavigation::m_event; %immutable eListbox::selectionChanged; +%immutable eDVBCI_UI::mmiAvail; %include %include -- 2.30.2