aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicemp3.h
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2003-10-17 15:36:42 +0000
committerFelix Domke <tmbinc@elitedvb.net>2003-10-17 15:36:42 +0000
commitd63d2c3c6cbbd574dda4f8b00ebe6c661735edd5 (patch)
tree84d0cacfd0b6c1241c236c7860f7cbd7f26901bb /lib/service/servicemp3.h
downloadenigma2-d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5.tar.gz
enigma2-d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5.zip
import of enigma2
Diffstat (limited to 'lib/service/servicemp3.h')
-rw-r--r--lib/service/servicemp3.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h
new file mode 100644
index 00000000..0f2c074f
--- /dev/null
+++ b/lib/service/servicemp3.h
@@ -0,0 +1,42 @@
+#ifndef __servicemp3_h
+#define __servicemp3_h
+
+#include <lib/service/iservice.h>
+
+class eServiceFactoryMP3: public virtual iServiceHandler, public virtual iObject
+{
+DECLARE_REF;
+public:
+ eServiceFactoryMP3();
+ virtual ~eServiceFactoryMP3();
+ enum { id = 0x1001 };
+
+ // iServiceHandler
+ RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
+ RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
+ RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
+};
+
+class eServiceMP3: public virtual iPlayableService, public virtual iPauseableService, public virtual iObject
+{
+ friend class eServiceFactoryMP3;
+ std::string filename;
+ eServiceMP3(const char *filename);
+ int ref;
+public:
+ virtual ~eServiceMP3();
+
+ // iObject
+ void AddRef();
+ void Release();
+
+ // iPlayableService
+ RESULT start();
+ RESULT getIPausableService(ePtr<iPauseableService> &ptr);
+
+ // iPausableService
+ RESULT pause();
+ RESULT unpause();
+};
+
+#endif