[DVBCI] Fix to work dvbci on vtuner.
[vuplus_dvbapp] / lib / dvb_ci / dvbci.h
index ec82ec2..4a49d7c 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=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, 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
 };
 
 typedef std::pair<std::string, uint32_t> providerPair;
@@ -66,6 +67,10 @@ class eDVBCISlot: public iObject, public Object
        bool user_mapped;
        void data(int);
        bool plugged;
+
+#define NUM_OF_ECM             32
+       ePtr<eDVBECMParser> m_ecm[NUM_OF_ECM];
+       int ecm_num;
 public:
        enum {stateRemoved, stateInserted, stateInvalid, stateResetted};
        eDVBCISlot(eMainloop *context, int nr);
@@ -95,6 +100,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