aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvbrecord.h
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-21 22:37:43 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-21 22:37:43 +0000
commit9511adb1e0b28923cd05f5bcb74575d49e57f650 (patch)
treef1e5fd2ef835d7b30c84b341687ca05d7a8ec9bc /lib/service/servicedvbrecord.h
parent9cfa60d8ae4a0ed3b00a4331d45aa8ff2e8a2ecf (diff)
downloadenigma2-9511adb1e0b28923cd05f5bcb74575d49e57f650.tar.gz
enigma2-9511adb1e0b28923cd05f5bcb74575d49e57f650.zip
add infrastructure for record service events (not finished yet)
Diffstat (limited to 'lib/service/servicedvbrecord.h')
-rw-r--r--lib/service/servicedvbrecord.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/service/servicedvbrecord.h b/lib/service/servicedvbrecord.h
index 2b93b45a..6a58fc84 100644
--- a/lib/service/servicedvbrecord.h
+++ b/lib/service/servicedvbrecord.h
@@ -15,9 +15,11 @@ class eDVBServiceRecord: public eDVBServiceBase,
{
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 start();
RESULT stop();
+ RESULT getError(int &error) { error = m_error; m_error = 0; return 0; }
private:
enum { stateIdle, statePrepared, stateRecording };
int m_state, m_want_record;
@@ -25,11 +27,10 @@ private:
eDVBServiceRecord(const eServiceReferenceDVB &ref);
eServiceReferenceDVB m_ref;
- void serviceEvent(int event);
ePtr<iDVBTSRecorder> m_record;
- int m_recording, m_tuned;
+ int m_recording, m_tuned, m_error;
std::set<int> m_pids_active;
std::string m_filename;
int m_target_fd;
@@ -37,6 +38,11 @@ private:
int doPrepare();
int doRecord();
RESULT frontendInfo(ePtr<iFrontendInformation> &ptr);
+
+ /* events */
+ void serviceEvent(int event);
+ Signal2<void,iRecordableService*,int> m_event;
+
};
#endif