#include <lib/dvb/dvb.h>
#include <lib/dvb/db.h>
+#include <lib/service/servicedvbrecord.h>
+
DEFINE_REF(eServiceFactoryDVB)
eServiceFactoryDVB::eServiceFactoryDVB()
return 0;
}
-RESULT eServiceFactoryDVB::record(const eServiceReference &, ePtr<iRecordableService> &ptr)
+RESULT eServiceFactoryDVB::record(const eServiceReference &ref, ePtr<iRecordableService> &ptr)
{
- ptr = 0;
- return -1;
+ ptr = new eDVBServiceRecord((eServiceReferenceDVB&)ref);
+ return 0;
}
RESULT eServiceFactoryDVB::list(const eServiceReference &ref, ePtr<iListableService> &ptr)
void eDVBServicePlay::gotNewEvent()
{
+#if 0
// debug only
ePtr<eServiceEvent> m_event_now, m_event_next;
getEvent(m_event_now, 0);
eDebug("now running: %s (%d seconds :)", m_event_now->m_event_name.c_str(), m_event_now->m_duration);
if (m_event_next)
eDebug("next running: %s (%d seconds :)", m_event_next->m_event_name.c_str(), m_event_next->m_duration);
+#endif
+ m_event((iPlayableService*)this, evUpdatedEventInfo);
}
void eDVBServicePlay::serviceEvent(int event)
RESULT eDVBServicePlay::connectEvent(const Slot2<void,iPlayableService*,int> &event, ePtr<eConnection> &connection)
{
- return -1;
+ connection = new eConnection((iPlayableService*)this, m_event.connect(event));
+ return 0;
}
RESULT eDVBServicePlay::pause(ePtr<iPauseableService> &ptr)