// 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(),
{
printf("eDVBCI_UI::mmiScreenFinish\n");
slotdata[slot].mmiScreenReady = 1;
+ /*emit*/ mmiAvail(slot);
}
return 0;
}
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
#include <Python.h>
+#include <lib/python/connections.h>
#define MAX_SLOTS 4
~eDVBCI_UI();
#endif
public:
+ PSignal1<void,int> mmiAvail;
#ifndef SWIG
eDVBCI_UI();
~eDVBCI_UI();
#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):
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)
self.Timer = eTimer()
self.Timer.timeout.get().append(self.TimerCheck)
self.Timer.start(1000)
+
+ eDVBCI_UI.getInstance().mmiAvail.get().append(self.mmiAvail)
%template(eServiceCenterPtr) ePtr<eServiceCenter>;
%include <lib/service/event.h>
-
// TODO: embed these...
%immutable eConsoleAppContainer::appClosed;
%immutable eConsoleAppContainer::dataAvail;
%immutable eComponentScan::newService;
%immutable pNavigation::m_event;
%immutable eListbox::selectionChanged;
+%immutable eDVBCI_UI::mmiAvail;
%include <lib/base/console.h>
%include <lib/base/nconfig.h>