fix pid changes
[enigma2.git] / lib / service / servicedvbrecord.h
index 856f92b3ce9ec63984fc0f73ee0160b0e4ae4140..319fbb708db1ce6394c516abec36a7f13b57d9cc 100644 (file)
 class eDVBServiceRecord: public eDVBServiceBase,
        public iRecordableService, 
        public iStreamableService,
+       public iSubserviceList,
        public Object
 {
        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 prepare(const char *filename, time_t begTime, time_t endTime, int eit_event_id, const char *name, const char *descr, const char *tags);
        RESULT prepareStreaming();
        RESULT start(bool simulate=false);
        RESULT stop();
        RESULT stream(ePtr<iStreamableService> &ptr);
        RESULT getError(int &error) { error = m_error; return 0; }
        RESULT frontendInfo(ePtr<iFrontendInformation> &ptr);
+       RESULT subServices(ePtr<iSubserviceList> &ptr);
 
                /* streamable service */
        PyObject *getStreamingData();
 
+               // iSubserviceList
+       int getNumberOfSubservices();
+       RESULT getSubservice(eServiceReference &subservice, unsigned int n);
 private:
        enum { stateIdle, statePrepared, stateRecording };
        bool m_simulate;
@@ -41,7 +46,7 @@ private:
        eServiceReferenceDVB m_ref;
        
        ePtr<iDVBTSRecorder> m_record;
-       ePtr<eConnection>       m_con_record_event;
+       ePtr<eConnection> m_con_record_event;
        
        int m_recording, m_tuned, m_error;
        std::set<int> m_pids_active;