Merge branch 'master' of git.opendreambox.org:/git/enigma2
[enigma2.git] / lib / service / servicedvbrecord.h
index 018e83f98117ed5afdd056acd126c2b489ee86b7..17de033e190b18629f386538ea589d195fe799f0 100644 (file)
@@ -15,12 +15,12 @@ class eDVBServiceRecord: public eDVBServiceBase,
        public iStreamableService,
        public Object
 {
-DECLARE_REF(eDVBServiceRecord);
+       DECLARE_REF(eDVBServiceRecord);
 public:
        RESULT connectEvent(const Slot2<void,iRecordableService*,int> &event, ePtr<eConnection> &connection);
        RESULT prepare(const char *filename, time_t begTime, time_t endTime, int eit_event_id);
        RESULT prepareStreaming();
-       RESULT start();
+       RESULT start(bool simulate=false);
        RESULT stop();
        RESULT stream(ePtr<iStreamableService> &ptr);
        RESULT getError(int &error) { error = m_error; return 0; }
@@ -31,6 +31,7 @@ public:
 
 private:
        enum { stateIdle, statePrepared, stateRecording };
+       bool m_simulate;
        int m_state, m_want_record;
        friend class eServiceFactoryDVB;
        eDVBServiceRecord(const eServiceReferenceDVB &ref);
@@ -38,6 +39,7 @@ private:
        eServiceReferenceDVB m_ref;
        
        ePtr<iDVBTSRecorder> m_record;
+       ePtr<eConnection>       m_con_record_event;
        
        int m_recording, m_tuned, m_error;
        std::set<int> m_pids_active;
@@ -51,6 +53,9 @@ private:
                        /* events */
        void serviceEvent(int event);
        Signal2<void,iRecordableService*,int> m_event;
+       
+                       /* recorder events */
+       void recordEvent(int event);
 };
 
 #endif