aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-05-22 20:04:08 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-05-22 20:04:08 +0000
commit663df8b68d461fe8137367977afa7fefc63f1838 (patch)
treee1910c7bc9c428700d353208258fe5226a763482
parentd43e4676bd757d1de73b8dd669154ffd42192b10 (diff)
downloadenigma2-663df8b68d461fe8137367977afa7fefc63f1838.tar.gz
enigma2-663df8b68d461fe8137367977afa7fefc63f1838.zip
better cast
-rw-r--r--lib/dvb/sec.cpp4
-rw-r--r--lib/dvb_ci/dvbci_ui.cpp1
-rw-r--r--lib/dvb_ci/dvbci_ui.h2
-rw-r--r--lib/python/Screens/Ci.py12
-rw-r--r--lib/python/enigma_python.i2
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 <Python.h>
+#include <lib/python/connections.h>
#define MAX_SLOTS 4
@@ -27,6 +28,7 @@ class eDVBCI_UI
~eDVBCI_UI();
#endif
public:
+ PSignal1<void,int> 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<eServiceCenter>;
%include <lib/service/event.h>
-
// 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 <lib/base/console.h>
%include <lib/base/nconfig.h>