X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8c7f6d8e77d3d6356d1c820cbb48fe234d7afbb6..f359297fea04265130c187206da39db5beb9e675:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 96cd792d..bfdca1ba 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -224,7 +224,7 @@ typedef long long pts_t; Hide the result only if there is another way to check for failure! */ -SWIG_TEMPLATE_TYPEDEF(ePtr, eServiceEventPtr); +class eServiceEvent; SWIG_IGNORE(iStaticServiceInformation); class iStaticServiceInformation: public iObject @@ -354,7 +354,8 @@ public: signalQuality, lockState, syncState, - frontendNumber + frontendNumber, + signalPowerdB, }; }; @@ -367,7 +368,10 @@ class iFrontendInformation: public iFrontendInformation_ENUMS, public iObject #endif public: virtual int getFrontendInfo(int w)=0; - virtual PyObject *getFrontendData(bool original=false)=0; + virtual PyObject *getFrontendData()=0; + virtual PyObject *getFrontendStatus()=0; + virtual PyObject *getTransponderData(bool original)=0; + virtual PyObject *getAll(bool original)=0; // a sum of getFrontendData/Status/TransponderData }; SWIG_TEMPLATE_TYPEDEF(ePtr, iFrontendInformationPtr); @@ -422,9 +426,11 @@ struct iAudioTrackInfo #ifndef SWIG std::string m_description; std::string m_language; /* iso639 */ + int m_pid; /* for association with the stream. */ #endif std::string getDescription() { return m_description; } std::string getLanguage() { return m_language; } + int getPID() { return m_pid; } }; SWIG_ALLOW_OUTPUT_SIMPLE(iAudioTrackInfo); @@ -439,6 +445,7 @@ public: virtual int getNumberOfTracks()=0; virtual RESULT selectTrack(unsigned int i)=0; virtual SWIG_VOID(RESULT) getTrackInfo(struct iAudioTrackInfo &SWIG_OUTPUT, unsigned int n)=0; + virtual int getCurrentTrack()=0; }; SWIG_TEMPLATE_TYPEDEF(ePtr, iAudioTrackSelectionPtr); @@ -480,17 +487,30 @@ public: }; SWIG_TEMPLATE_TYPEDEF(ePtr, iAudioDelayPtr); -SWIG_IGNORE(iRadioText); -class iRadioText: public iObject +class iRdsDecoder_ENUMS +{ +#ifdef SWIG + iRdsDecoder_ENUMS(); + ~iRdsDecoder_ENUMS(); +#endif +public: + enum { RadioText, RtpText }; +}; + +SWIG_IGNORE(iRdsDecoder); +class iRdsDecoder: public iObject, public iRdsDecoder_ENUMS { #ifdef SWIG - iRadioText(); - ~iRadioText(); + iRdsDecoder(); + ~iRdsDecoder(); #endif public: - virtual std::string getRadioText(int x=0)=0; + virtual std::string getText(int x=RadioText)=0; + virtual void showRassSlidePicture()=0; + virtual void showRassInteractivePic(int page, int subpage)=0; + virtual SWIG_PYOBJECT(ePyObject) getRassInteractiveMask()=0; }; -SWIG_TEMPLATE_TYPEDEF(ePtr, iRadioTextPtr); +SWIG_TEMPLATE_TYPEDEF(ePtr, iRdsDecoderPtr); SWIG_IGNORE(iSubserviceList); class iSubserviceList: public iObject @@ -673,8 +693,13 @@ public: /* when cueSheet is implemented */ evCuesheetChanged, - /* when radioText is implemented */ + /* when rdsDecoder is implemented */ evUpdatedRadioText, + evUpdatedRtpText, + + /* Radio Screenshow Support */ + evUpdatedRassSlidePic, + evUpdatedRassInteractivePicMask, evVideoSizeChanged, @@ -682,6 +707,25 @@ 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 { @@ -709,29 +753,11 @@ public: virtual SWIG_VOID(RESULT) cueSheet(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) subtitle(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) audioDelay(ePtr &SWIG_OUTPUT)=0; - virtual SWIG_VOID(RESULT) radioText(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) rdsDecoder(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) stream(ePtr &SWIG_OUTPUT)=0; }; SWIG_TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); -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 iRecordableService_ENUMS { #ifdef SWIG @@ -747,8 +773,8 @@ public: evRecordRunning, evRecordStopped, evNewProgramInfo, - evRecordFailed - /*evDiskFull*/ + evRecordFailed, + evRecordWriteError }; enum { NoError=0,