+ eDVBCIMMISession *mmi_session;
+
+ int getSlotID();
+ int reset();
+ int initialize();
+ int startMMI();
+ int stopMMI();
+ int answerText(int answer);
+ int answerEnq(int answer, char *value);
+ int getMMIState();
+ int sendCAPMT(eDVBServicePMTHandler *ptr, const std::vector<uint16_t> &caids=std::vector<uint16_t>());
+ uint8_t getPrevSentCAPMTVersion() const { return prev_sent_capmt_version; }
+ void resetPrevSentCAPMTVersion() { prev_sent_capmt_version = 0xFF; }
+};
+
+struct CIPmtHandler
+{
+ eDVBServicePMTHandler *pmthandler;
+ eDVBCISlot *usedby;
+ CIPmtHandler()
+ :pmthandler(NULL), usedby(NULL)
+ {}
+ CIPmtHandler( const CIPmtHandler &x )
+ :pmthandler(x.pmthandler), usedby(x.usedby)
+ {}
+ CIPmtHandler( eDVBServicePMTHandler *ptr )
+ :pmthandler(ptr), usedby(NULL)
+ {}
+ bool operator<(const CIPmtHandler &x) const { return x.pmthandler < pmthandler; }