X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/fd73f4ea04ad8aaf10602354305e9e331a17cfa3..57e05465c68a8154f0bace3dfe36db98bb85c3be:/lib/service/servicedvbrecord.h diff --git a/lib/service/servicedvbrecord.h b/lib/service/servicedvbrecord.h index 6bd9fb96..25ca3e56 100644 --- a/lib/service/servicedvbrecord.h +++ b/lib/service/servicedvbrecord.h @@ -14,20 +14,27 @@ class eDVBServiceRecord: public iRecordableService, public Object { DECLARE_REF(eDVBServiceRecord); public: + RESULT prepare(const char *filename, time_t begTime, time_t endTime, int eit_event_id); 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; + eDVBServicePMTHandler m_service_handler; void serviceEvent(int event); ePtr m_record; - int m_recording; + int m_recording, m_tuned; std::set m_pids_active; + std::string m_filename; + + int doPrepare(); + int doRecord(); }; #endif