-#ifndef __servicemp3_h
-#define __servicemp3_h
+#ifndef __servicedvb_h
+#define __servicedvb_h
#include <lib/service/iservice.h>
#include <lib/dvb/idvb.h>
class eServiceFactoryDVB: public iServiceHandler
{
-DECLARE_REF;
+DECLARE_REF(eServiceFactoryDVB);
public:
eServiceFactoryDVB();
virtual ~eServiceFactoryDVB();
RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
+private:
+ RESULT lookupService(ePtr<eDVBService> &ptr, const eServiceReference &ref);
};
class eDVBServiceList: public iListableService
{
-DECLARE_REF;
+DECLARE_REF(eDVBServiceList);
private:
eServiceReference m_parent;
friend class eServiceFactoryDVB;
class eDVBServicePlay: public iPlayableService, public Object, public iServiceInformation
{
-DECLARE_REF;
+DECLARE_REF(eDVBServicePlay);
private:
friend class eServiceFactoryDVB;
eServiceReference m_reference;
+ ePtr<eDVBService> m_dvb_service;
+
ePtr<iTSMPEGDecoder> m_decoder;
eDVBServicePMTHandler m_service_handler;
eDVBServiceEITHandler m_event_handler;
- eDVBServicePlay(const eServiceReference &ref);
+ eDVBServicePlay(const eServiceReference &ref, eDVBService *service);
void gotNewEvent();
RESULT info(ePtr<iServiceInformation> &ptr);
// iServiceInformation
- RESULT getName(const eServiceReference &ref, std::string &name);
+ RESULT getName(std::string &name);
RESULT getEvent(ePtr<eServiceEvent> &evt, int nownext);
};