aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicem2ts.h
blob: a53f731f4fa8ac4e5972060825a09253c1ee3573 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef __servicem2ts_h
#define __servicem2ts_h

#include <lib/service/servicedvb.h>

class eServiceFactoryM2TS: public iServiceHandler
{
	DECLARE_REF(eServiceFactoryM2TS);
public:
	eServiceFactoryM2TS();
	virtual ~eServiceFactoryM2TS();
	enum { id = 0x3 };

		// iServiceHandler
	RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
	RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
	RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
	RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
	RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
};

class eServiceM2TS: public eDVBServicePlay
{
	friend class eServiceFactoryM2TS;
protected:
	eServiceM2TS(const eServiceReference &ref);
	ePtr<iDataSource> createDataSource(eServiceReferenceDVB &ref);

	// iSeekableService
	RESULT isCurrentlySeekable();
};

#endif