4 #include <lib/service/iservice.h>
5 #include <lib/dvb/idvb.h>
7 #include <lib/dvb/pmt.h>
9 class eServiceFactoryDVB: public iServiceHandler
14 virtual ~eServiceFactoryDVB();
18 RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
19 RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
20 RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
21 RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
24 class eDVBServiceList: public iListableService
28 eServiceReference m_parent;
29 friend class eServiceFactoryDVB;
30 eDVBServiceList(const eServiceReference &parent);
32 virtual ~eDVBServiceList();
33 RESULT getContent(std::list<eServiceReference> &list);
36 class eDVBServicePlay: public iPlayableService, public Object, public iServiceInformation
40 friend class eServiceFactoryDVB;
41 eServiceReference m_reference;
43 ePtr<iTSMPEGDecoder> m_decoder;
45 eDVBServicePMTHandler m_serviceHandler;
47 eDVBServicePlay(const eServiceReference &ref);
49 void serviceEvent(int event);
51 virtual ~eDVBServicePlay();
54 RESULT connectEvent(const Slot2<void,iPlayableService*,int> &event, ePtr<eConnection> &connection);
57 RESULT pause(ePtr<iPauseableService> &ptr);
58 RESULT info(ePtr<iServiceInformation> &ptr);
60 // iServiceInformation
61 RESULT getName(const eServiceReference &ref, std::string &name);