From: Andreas Monzner Date: Thu, 27 Mar 2008 19:15:11 +0000 (+0000) Subject: add iServiceKeys interface (No not what you think ;) it simply means its X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=912690ec8896bf6dfda931a6846516cc3b4ca979 add iServiceKeys interface (No not what you think ;) it simply means its now possible to deliver normal button presses into services) --- diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 462f3dc..9f8afd2 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -665,6 +665,54 @@ public: }; SWIG_TEMPLATE_TYPEDEF(ePtr, iServiceOfflineOperationsPtr); +SWIG_IGNORE(iStreamableService); +class iStreamableService: public iObject +{ +#ifdef SWIG + iStreamableService(); + ~iStreamableService(); +#endif +public: + /* returns a dict: + { "demux": , + "pids": [(x,type),(y,type),(z,type),..], + ... + } + with type being "video", "audio", "pmt", "pat"... + */ + virtual PyObject *getStreamingData()=0; +}; +SWIG_TEMPLATE_TYPEDEF(ePtr, 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, 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": , - "pids": [(x,type),(y,type),(z,type),..], - ... - } - with type being "video", "audio", "pmt", "pat"... - */ - virtual PyObject *getStreamingData()=0; -}; -SWIG_TEMPLATE_TYPEDEF(ePtr, iStreamableServicePtr); - SWIG_IGNORE(iPlayableService); class iPlayableService: public iPlayableService_ENUMS, public iObject { @@ -755,6 +784,7 @@ public: virtual SWIG_VOID(RESULT) audioDelay(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) rdsDecoder(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) stream(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) keys(ePtr &SWIG_OUTPUT)=0; }; SWIG_TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 789edbe..0c5710d 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -113,6 +113,7 @@ public: RESULT subtitle(ePtr &ptr); RESULT audioDelay(ePtr &ptr); RESULT rdsDecoder(ePtr &ptr); + RESULT keys(ePtr &ptr) { ptr = 0; return -1; } // iPauseableService RESULT pause(); diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h index 6606ca5..2089289 100644 --- a/lib/service/servicemp3.h +++ b/lib/service/servicemp3.h @@ -68,6 +68,7 @@ public: RESULT audioDelay(ePtr &ptr) { ptr = 0; return -1; } RESULT rdsDecoder(ePtr &ptr) { ptr = 0; return -1; } RESULT stream(ePtr &ptr) { ptr = 0; return -1; } + RESULT keys(ePtr &ptr) { ptr = 0; return -1; } // iPausableService RESULT pause(); diff --git a/lib/service/servicexine.h b/lib/service/servicexine.h index b56a485..4bf7e3e 100644 --- a/lib/service/servicexine.h +++ b/lib/service/servicexine.h @@ -70,6 +70,7 @@ public: RESULT subtitle(ePtr &ptr) { ptr = 0; return -1; } RESULT audioDelay(ePtr &ptr) { ptr = 0; return -1; } RESULT rdsDecoder(ePtr &ptr) { ptr = 0; return -1; } + RESULT keys(ePtr &ptr) { ptr = 0; return -1; } // iPausableService RESULT pause();