1 #include <lib/base/eerror.h>
2 #include <lib/base/object.h>
4 #include <lib/service/servicemp3.h>
5 #include <lib/service/service.h>
6 #include <lib/base/init_num.h>
7 #include <lib/base/init.h>
11 eServiceFactoryMP3::eServiceFactoryMP3(): ref(0)
13 ePtr<eServiceCenter> sc;
15 eServiceCenter::getInstance(sc);
17 sc->addServiceFactory(eServiceFactoryMP3::id, this);
20 eServiceFactoryMP3::~eServiceFactoryMP3()
22 ePtr<eServiceCenter> sc;
24 eServiceCenter::getInstance(sc);
26 sc->removeServiceFactory(eServiceFactoryMP3::id);
29 DEFINE_REF(eServiceFactoryMP3)
32 RESULT eServiceFactoryMP3::play(const eServiceReference &ref, ePtr<iPlayableService> &ptr)
36 ptr = new eServiceMP3(ref.path.c_str());
46 RESULT eServiceFactoryMP3::record(const eServiceReference &ref, ePtr<iRecordableService> &ptr)
52 RESULT eServiceFactoryMP3::list(const eServiceReference &, ePtr<iListableService> &ptr)
60 eServiceMP3::eServiceMP3(const char *filename): filename(filename), ref(0)
62 printf("MP3: %s start\n", filename);
65 eServiceMP3::~eServiceMP3()
67 printf("MP3: %s stop\n", filename.c_str());
70 void eServiceMP3::AddRef()
75 void eServiceMP3::Release()
81 RESULT eServiceMP3::start() { printf("mp3 starts\n"); return 0; }
82 RESULT eServiceMP3::getIPausableService(ePtr<iPauseableService> &ptr) { ptr=this; return 0; }
85 RESULT eServiceMP3::pause() { printf("mp3 pauses!\n"); return 0; }
86 RESULT eServiceMP3::unpause() { printf("mp3 unpauses!\n"); return 0; }
89 eAutoInitP0<eServiceFactoryMP3> init_eServiceFactoryMP3(eAutoInitNumbers::service+1, "eServiceFactoryMP3");