X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a65edb264cc943a2a15b6886d9fa3190a92373c0..95c570d26ce81e3dd1e0610ff6c5c0b34d75ba5a:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 7dba7321..71c82ab0 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -38,7 +38,8 @@ public: flagDirectory=isDirectory|mustDescent|canDescent, shouldSort=8, // should be ASCII-sorted according to service_name. great for directories. hasSortKey=16, // has a sort key in data[3]. not having a sort key implies 0. - sort1=32 // sort key is 1 instead of 0 + sort1=32, // sort key is 1 instead of 0 + isMarker=64 // Marker }; int flags; // flags will NOT be compared. @@ -144,6 +145,7 @@ public: #endif eServiceReference(const std::string &string); std::string toString() const; + std::string toCompareString() const; bool operator==(const eServiceReference &c) const { if (type != c.type) @@ -224,6 +226,9 @@ public: virtual int getInfo(const eServiceReference &ref, int w); virtual std::string getInfoString(const eServiceReference &ref,int w); + + virtual int setInfo(const eServiceReference &ref, int w, int v); + virtual int setInfoString(const eServiceReference &ref, int w, const char *v); }; TEMPLATE_TYPEDEF(ePtr, iStaticServiceInformationPtr); @@ -274,13 +279,18 @@ public: sTracknumber, sGenre, sCAIDs, - sVideoType // MPEG2 MPEG4 + sVideoType, // MPEG2 MPEG4 + + sTags, /* space seperated list of tags */ }; enum { resNA = -1, resIsString = -2, resIsPyObject = -3 }; virtual int getInfo(int w); virtual std::string getInfoString(int w); virtual PyObject *getInfoObject(int w); + + virtual int setInfo(int w, int v); + virtual int setInfoString(int w, const char *v); }; TEMPLATE_TYPEDEF(ePtr, iServiceInformationPtr); @@ -345,12 +355,6 @@ TEMPLATE_TYPEDEF(ePtr, iSeekableServicePtr); struct iAudioTrackInfo { -#ifdef SWIG -private: - iAudioTrackInfo(); - ~iAudioTrackInfo(); -public: -#endif #ifndef SWIG std::string m_description; std::string m_language; /* iso639 */ @@ -404,6 +408,18 @@ public: TEMPLATE_TYPEDEF(ePtr, iAudioDelayPtr); +class iRadioText: public iObject +{ +#ifdef SWIG + iRadioText(); + ~iRadioText(); +#endif +public: + virtual std::string getRadioText(int x=0)=0; +}; + +TEMPLATE_TYPEDEF(ePtr, iRadioTextPtr); + class iSubserviceList: public iObject { #ifdef SWIG @@ -460,6 +476,7 @@ public: virtual RESULT enableSubtitles(eWidget *parent, PyObject *entry)=0; virtual RESULT disableSubtitles(eWidget *parent)=0; virtual PyObject *getSubtitleList()=0; + virtual PyObject *getCachedSubtitle()=0; }; TEMPLATE_TYPEDEF(ePtr, iSubtitleOutputPtr); @@ -492,6 +509,8 @@ public: /* only when cueSheet is implemented */ evCuesheetChanged, + + evUpdatedRadioText }; virtual RESULT connectEvent(const Slot2 &event, ePtr &connection)=0; virtual RESULT start()=0; @@ -509,6 +528,7 @@ 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; }; TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); @@ -540,7 +560,7 @@ public: /* flush changes */ virtual RESULT flushChanges()=0; /* adds a service to a list */ - virtual RESULT addService(eServiceReference &ref)=0; + virtual RESULT addService(eServiceReference &ref, eServiceReference before=eServiceReference())=0; /* removes a service from a list */ virtual RESULT removeService(eServiceReference &ref)=0; /* moves a service in a list, only if list suppports a specific sort method. */