aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-03-27 19:15:11 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-03-27 19:15:11 +0000
commit912690ec8896bf6dfda931a6846516cc3b4ca979 (patch)
tree61a45287822cd67849a60de2a25f8589d818e0ae
parent69c8d11f9824e421cd0a1231723c4b7f246e75c0 (diff)
downloadenigma2-912690ec8896bf6dfda931a6846516cc3b4ca979.tar.gz
enigma2-912690ec8896bf6dfda931a6846516cc3b4ca979.zip
add iServiceKeys interface (No not what you think ;) it simply means its
now possible to deliver normal button presses into services)
-rw-r--r--lib/service/iservice.h68
-rw-r--r--lib/service/servicedvb.h1
-rw-r--r--lib/service/servicemp3.h1
-rw-r--r--lib/service/servicexine.h1
4 files changed, 52 insertions, 19 deletions
diff --git a/lib/service/iservice.h b/lib/service/iservice.h
index 462f3dc5..9f8afd26 100644
--- a/lib/service/iservice.h
+++ b/lib/service/iservice.h
@@ -665,6 +665,54 @@ public:
};
SWIG_TEMPLATE_TYPEDEF(ePtr<iServiceOfflineOperations>, iServiceOfflineOperationsPtr);
+SWIG_IGNORE(iStreamableService);
+class iStreamableService: public iObject
+{
+#ifdef SWIG
+ iStreamableService();
+ ~iStreamableService();
+#endif
+public:
+ /* returns a dict:
+ { "demux": <n>,
+ "pids": [(x,type),(y,type),(z,type),..],
+ ...
+ }
+ with type being "video", "audio", "pmt", "pat"...
+ */
+ virtual PyObject *getStreamingData()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iStreamableService>, iStreamableServicePtr);
+
+class iServiceKeys_ENUMS
+{
+#ifdef SWIG
+ iServiceKeys_ENUMS();
+ ~iServiceKeys_ENUMS();
+#endif
+public:
+ enum {
+ keyLeft,
+ keyRight,
+ keyUp,
+ keyDown,
+ keyOk,
+ keyUser = 0x100
+ };
+};
+
+SWIG_IGNORE(iServiceKeys);
+class iServiceKeys: public iServiceKeys_ENUMS, public iObject
+{
+#ifdef SWIG
+ iServiceKeys();
+ ~iServiceKeys();
+#endif
+public:
+ virtual SWIG_VOID(RESULT) keyPressed(int key)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iServiceKeys>, iServiceKeysPtr);
+
class iPlayableService_ENUMS
{
#ifdef SWIG
@@ -707,25 +755,6 @@ public:
};
};
-SWIG_IGNORE(iStreamableService);
-class iStreamableService: public iObject
-{
-#ifdef SWIG
- iStreamableService();
- ~iStreamableService();
-#endif
-public:
- /* returns a dict:
- { "demux": <n>,
- "pids": [(x,type),(y,type),(z,type),..],
- ...
- }
- with type being "video", "audio", "pmt", "pat"...
- */
- virtual PyObject *getStreamingData()=0;
-};
-SWIG_TEMPLATE_TYPEDEF(ePtr<iStreamableService>, iStreamableServicePtr);
-
SWIG_IGNORE(iPlayableService);
class iPlayableService: public iPlayableService_ENUMS, public iObject
{
@@ -755,6 +784,7 @@ public:
virtual SWIG_VOID(RESULT) audioDelay(ePtr<iAudioDelay> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) rdsDecoder(ePtr<iRdsDecoder> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) stream(ePtr<iStreamableService> &SWIG_OUTPUT)=0;
+ virtual SWIG_VOID(RESULT) keys(ePtr<iServiceKeys> &SWIG_OUTPUT)=0;
};
SWIG_TEMPLATE_TYPEDEF(ePtr<iPlayableService>, iPlayableServicePtr);
diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h
index 789edbea..0c5710d8 100644
--- a/lib/service/servicedvb.h
+++ b/lib/service/servicedvb.h
@@ -113,6 +113,7 @@ public:
RESULT subtitle(ePtr<iSubtitleOutput> &ptr);
RESULT audioDelay(ePtr<iAudioDelay> &ptr);
RESULT rdsDecoder(ePtr<iRdsDecoder> &ptr);
+ RESULT keys(ePtr<iServiceKeys> &ptr) { ptr = 0; return -1; }
// iPauseableService
RESULT pause();
diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h
index 6606ca5d..20892898 100644
--- a/lib/service/servicemp3.h
+++ b/lib/service/servicemp3.h
@@ -68,6 +68,7 @@ public:
RESULT audioDelay(ePtr<iAudioDelay> &ptr) { ptr = 0; return -1; }
RESULT rdsDecoder(ePtr<iRdsDecoder> &ptr) { ptr = 0; return -1; }
RESULT stream(ePtr<iStreamableService> &ptr) { ptr = 0; return -1; }
+ RESULT keys(ePtr<iServiceKeys> &ptr) { ptr = 0; return -1; }
// iPausableService
RESULT pause();
diff --git a/lib/service/servicexine.h b/lib/service/servicexine.h
index b56a4858..4bf7e3eb 100644
--- a/lib/service/servicexine.h
+++ b/lib/service/servicexine.h
@@ -70,6 +70,7 @@ public:
RESULT subtitle(ePtr<iSubtitleOutput> &ptr) { ptr = 0; return -1; }
RESULT audioDelay(ePtr<iAudioDelay> &ptr) { ptr = 0; return -1; }
RESULT rdsDecoder(ePtr<iRdsDecoder> &ptr) { ptr = 0; return -1; }
+ RESULT keys(ePtr<iServiceKeys> &ptr) { ptr = 0; return -1; }
// iPausableService
RESULT pause();