notifier->setRequested(eSocketNotifier::Read);
//HACK
eDVBCI_UI::getInstance()->setState(0,0);
- //FIXME; do in deconstructor of the appmgr class
- application_manager = 0;
- mmi_session = 0;
}
return;
}
eDVBCISlot::eDVBCISlot(eMainloop *context, int nr)
{
char filename[128];
-
+
application_manager = 0;
mmi_session = 0;
-
+
slotid = nr;
sprintf(filename, "/dev/ci%d", nr);
#include <lib/dvb_ci/dvbci_appmgr.h>
#include <lib/dvb_ci/dvbci_ui.h>
+eDVBCIApplicationManagerSession::eDVBCIApplicationManagerSession(eDVBCISlot *tslot)
+{
+ slot = tslot;
+ slot->application_manager = this;
+}
+
+eDVBCIApplicationManagerSession::~eDVBCIApplicationManagerSession()
+{
+ slot = 0;
+}
+
int eDVBCIApplicationManagerSession::receivedAPDU(const unsigned char *tag,const void *data, int len)
{
printf("SESSION(%d)/APP %02x %02x %02x: ", session_nb, tag[0], tag[1], tag[2]);
enum {
stateFinal=statePrivate,
};
+
+ eDVBCISlot *slot;
+
int wantmenu;
int receivedAPDU(const unsigned char *tag, const void *data, int len);
int doAction();
public:
+ eDVBCIApplicationManagerSession(eDVBCISlot *tslot);
+ ~eDVBCIApplicationManagerSession();
int enterMenu();
int startMMI();
};
printf("session: %p\n",session);
break;
case 0x00020041:
- session=slot->application_manager = new eDVBCIApplicationManagerSession;
+ session=slot->application_manager = new eDVBCIApplicationManagerSession(slot);
printf("APPLICATION MANAGER\n");
break;
case 0x00030041: