add iServiceKeys interface (No not what you think ;) it simply means its
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 27 Mar 2008 19:15:11 +0000 (19:15 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 27 Mar 2008 19:15:11 +0000 (19:15 +0000)
now possible to deliver normal button presses into services)

lib/service/iservice.h
lib/service/servicedvb.h
lib/service/servicemp3.h
lib/service/servicexine.h

index 462f3dc516f316d036c532c8aea5ac37bf743669..9f8afd26b0dfd317e828b83abe9b5f55cb193932 100644 (file)
@@ -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);
 
index 789edbea701b396e088a12450a8e238747f49ef3..0c5710d8f19d2c20e442ad43dbae0db011eac566 100644 (file)
@@ -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();
index 6606ca5d99030169b75b9501b386b66326c349a9..208928989d63d0dfe2da84dfce4719410fe3e3ed 100644 (file)
@@ -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();
index b56a48588b48940c3c24b280a02afbe2edb62cb4..4bf7e3ebe04bb74365af6435d789d21576b2310b 100644 (file)
@@ -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();