Support turbo2.
[vuplus_dvbapp] / lib / dvb_ci / dvbci.h
index de84e18..9cb9a0b 100644 (file)
@@ -4,6 +4,7 @@
 #ifndef SWIG
 
 #include <lib/base/ebase.h>
+#include <lib/dvb/ecm.h>
 #include <lib/service/iservice.h>
 #include <lib/python/python.h>
 #include <set>
@@ -35,7 +36,7 @@ struct queueData
 
 enum data_source
 {
-       TUNER_A, TUNER_B, TUNER_C, TUNER_D, CI_A, CI_B, CI_C, CI_D
+       TUNER_A=0, TUNER_B, TUNER_C, TUNER_D, TUNER_E, TUNER_F, TUNER_G, TUNER_H, TUNER_I, TUNER_J, TUNER_K, TUNER_L, TUNER_M, TUNER_N, TUNER_O, TUNER_P, TUNER_Q, TUNER_R, TUNER_S, TUNER_T, TUNER_U, TUNER_V, CI_A, CI_B, CI_C, CI_D, PVR, PVR_NONE
 };
 
 typedef std::pair<std::string, uint32_t> providerPair;
@@ -66,6 +67,7 @@ class eDVBCISlot: public iObject, public Object
        bool user_mapped;
        void data(int);
        bool plugged;
+       eSmartPtrList<eDVBECMParser> m_ecms;
 public:
        enum {stateRemoved, stateInserted, stateInvalid, stateResetted};
        eDVBCISlot(eMainloop *context, int nr);
@@ -95,6 +97,8 @@ public:
        int getNumOfServices() { return running_services.size(); }
        int setSource(data_source source);
        int setClockRate(int);
+       void addVtunerPid(eDVBServicePMTHandler *pmthandler);
+       void removeVtunerPid(void);
 };
 
 struct CIPmtHandler
@@ -134,6 +138,7 @@ public:
        void removePMTHandler(eDVBServicePMTHandler *pmthandler);
        void recheckPMTHandlers();
        void gotPMT(eDVBServicePMTHandler *pmthandler);
+       bool isCiConnected(eDVBServicePMTHandler *pmthandler);
        void ciRemoved(eDVBCISlot *slot);
        int getSlotState(int slot);