X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e776aa693cdf1b476b2dae45afef724babd1d233..92929c357751afc31f7f1acbe3e724bdf307cf23:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index d6501250..7448a5e0 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -84,7 +84,7 @@ public: #ifndef SWIG std::string name; #endif - std::string getName() { return name; } + std::string getName() const { return name; } void setName( const std::string &n ) { name=n; } eServiceReference() @@ -301,7 +301,14 @@ public: sVideoHeight, sVideoWidth, - sTransponderData /* transponderdata as python dict */ + sTransponderData, /* transponderdata as python dict */ + + sCurrentChapter, + sCurrentTitle, + sTotalChapters, + sTotalTitles, + + sUser = 0x100 }; enum { resNA = -1, @@ -355,7 +362,7 @@ public: lockState, syncState, frontendNumber, - signalPowerdB, + signalQualitydB, }; }; @@ -418,6 +425,8 @@ public: audio will be switched off, sync will be disabled etc. */ virtual RESULT setTrickmode(int trick=0)=0; virtual RESULT isCurrentlySeekable()=0; + virtual RESULT seekChapter(int) { return -1; } + virtual RESULT seekTitle(int) { return -1; } }; SWIG_TEMPLATE_TYPEDEF(ePtr, iSeekableServicePtr); @@ -426,9 +435,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); @@ -663,6 +674,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 @@ -676,6 +735,7 @@ public: evStart, evEnd, + evTunedIn, evTuneFailed, /* when iServiceInformation is implemented:*/ @@ -700,13 +760,15 @@ public: evUpdatedRassInteractivePicMask, evVideoSizeChanged, + evVideoFramerateChanged, + evVideoProgressiveChanged, - evStopped + evStopped, + + evUser = 0x100 }; }; -class iStreamableService; - SWIG_IGNORE(iPlayableService); class iPlayableService: public iPlayableService_ENUMS, public iObject { @@ -736,28 +798,10 @@ 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); -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 @@ -782,7 +826,9 @@ public: errNoDemuxAvailable=-2, errNoTsRecorderAvailable=-3, errDiskFull=-4, - errTuneFailed=-255 + errTuneFailed=-255, + errMisconfiguration = -256, + errNoResources = -257, }; };