diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb_ci/dvbci_mmi.cpp | 20 | ||||
| -rw-r--r-- | lib/dvb_ci/dvbci_mmi.h | 5 |
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/dvb_ci/dvbci_mmi.cpp b/lib/dvb_ci/dvbci_mmi.cpp index 463c91bd..7165453c 100644 --- a/lib/dvb_ci/dvbci_mmi.cpp +++ b/lib/dvb_ci/dvbci_mmi.cpp @@ -2,6 +2,17 @@ #include <lib/dvb_ci/dvbci_mmi.h> +eDVBCIMMISession::eDVBCIMMISession(eDVBCISlot *tslot) +{ + slot = tslot; + slot->mmi_session = this; +} + +eDVBCIMMISession::~eDVBCIMMISession() +{ + slot->mmi_session = 0; +} + int eDVBCIMMISession::receivedAPDU(const unsigned char *tag, const void *data, int len) { printf("SESSION(%d)/MMI %02x %02x %02x: ", session_nb, tag[0], tag[1],tag[2]); @@ -90,3 +101,12 @@ int eDVBCIMMISession::doAction() return 0; } +int eDVBCIMMISession::stopMMI() +{ + printf("eDVBCIMMISession::stopMMI()\n"); + + unsigned char tag[]={0x9f, 0x88, 0x00}; + unsigned char data[]={0x00}; + sendAPDU(tag, data, 1); +} + diff --git a/lib/dvb_ci/dvbci_mmi.h b/lib/dvb_ci/dvbci_mmi.h index 2339fb3b..0cc3f323 100644 --- a/lib/dvb_ci/dvbci_mmi.h +++ b/lib/dvb_ci/dvbci_mmi.h @@ -8,9 +8,14 @@ class eDVBCIMMISession: public eDVBCISession enum { stateDisplayReply=statePrivate, stateFakeOK, stateIdle }; + int receivedAPDU(const unsigned char *tag, const void *data, int len); int doAction(); + eDVBCISlot *slot; public: + eDVBCIMMISession(eDVBCISlot *tslot); + ~eDVBCIMMISession(); + int stopMMI(); }; #endif |
