fix
[enigma2.git] / lib / service / servicedvbrecord.h
index 93118bed5456650dcccd1983db0be3b38524b9d4..17e3d16639cd94d64956d31a93a054f006d1d95f 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <lib/dvb/pmt.h>
 #include <lib/dvb/eit.h>
+#include <set>
 
 #include <lib/service/servicedvb.h>
 
@@ -13,15 +14,27 @@ class eDVBServiceRecord: public iRecordableService, public Object
 {
 DECLARE_REF(eDVBServiceRecord);
 public:
+       RESULT prepare(const char *filename);
        RESULT start();
        RESULT stop();
 private:
+       enum { stateIdle, statePrepared, stateRecording };
+       int m_state, m_want_record;
        friend class eServiceFactoryDVB;
        eDVBServiceRecord(const eServiceReferenceDVB &ref);
        
        eDVBServicePMTHandler m_service_handler;
        eServiceReferenceDVB m_ref;
        void serviceEvent(int event);
+       
+       ePtr<iDVBTSRecorder> m_record;
+       
+       int m_recording;
+       std::set<int> m_pids_active;
+       std::string m_filename;
+       
+       int doPrepare();
+       int doRecord();
 };
 
 #endif