4 #include <lib/service/iservice.h>
6 class eStaticServiceMP3Info;
8 class eServiceFactoryMP3: public iServiceHandler
10 DECLARE_REF(eServiceFactoryMP3);
13 virtual ~eServiceFactoryMP3();
17 RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
18 RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
19 RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
20 RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
21 RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
23 ePtr<eStaticServiceMP3Info> m_service_info;
26 class eStaticServiceMP3Info: public iStaticServiceInformation
28 DECLARE_REF(eStaticServiceMP3Info);
29 friend class eServiceFactoryMP3;
30 eStaticServiceMP3Info();
32 RESULT getName(const eServiceReference &ref, std::string &name);
33 int getLength(const eServiceReference &ref);
36 class eServiceMP3: public iPlayableService, public iPauseableService, public iServiceInformation, public Object
38 DECLARE_REF(eServiceMP3);
40 friend class eServiceFactoryMP3;
42 eServiceMP3(const char *filename);
45 Signal2<void,iPlayableService*,int> m_event;
48 stIdle, stRunning, stStopped,
52 virtual ~eServiceMP3();
55 RESULT connectEvent(const Slot2<void,iPlayableService*,int> &event, ePtr<eConnection> &connection);
58 RESULT pause(ePtr<iPauseableService> &ptr);
59 RESULT seek(ePtr<iSeekableService> &ptr);
60 RESULT audioTracks(ePtr<iAudioTrackSelection> &ptr);
66 RESULT info(ePtr<iServiceInformation>&);
68 // iServiceInformation
69 RESULT getName(std::string &name);