better cast
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Mon, 22 May 2006 20:04:08 +0000 (20:04 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Mon, 22 May 2006 20:04:08 +0000 (20:04 +0000)
lib/dvb/sec.cpp
lib/dvb_ci/dvbci_ui.cpp
lib/dvb_ci/dvbci_ui.h
lib/python/Screens/Ci.py
lib/python/enigma_python.i

index f91824dcb554448f7448e974bf4847b6cd5f5c2c..70c742a2e6d56c62d50853055ad63e777096c06c 100644 (file)
@@ -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(),
index 239114534cd4529b824b3e3ce94dabc9cc35212d..306bcd13763578987eb629cabd49ff453de5fb66 100644 (file)
@@ -217,6 +217,7 @@ int eDVBCI_UI::mmiScreenFinish(int slot)
        {
                printf("eDVBCI_UI::mmiScreenFinish\n");
                slotdata[slot].mmiScreenReady = 1;
+               /*emit*/ mmiAvail(slot);
        }
        return 0;
 }
index 3db215faac4886ca032ca823ca96ec53795b09e8..640a3b9f51dc52b4c894ea2f51ce4cce88e518f2 100644 (file)
@@ -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();
index ecc560446d72f4df48cda104c0172c1c7b513f98..9bf5b168bc93a1169bd2832083b3b3a0054c3cc1 100644 (file)
@@ -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)
index 0ca55bb9fc84e406ae2570ee1d37e998f8950f77..21f2b2ec2a3b15dd67cebddda9e224c8bd2f880d 100644 (file)
@@ -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>