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.
#endif
eServiceReference(const std::string &string);
std::string toString() const;
+ std::string toCompareString() const;
bool operator==(const eServiceReference &c) const
{
if (type != c.type)
Hide the result only if there is another way to check for failure! */
+TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr);
+
class iStaticServiceInformation: public iObject
{
#ifdef SWIG
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<iStaticServiceInformation>, iStaticServiceInformationPtr);
-TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr);
-
class iServiceInformation: public iObject
{
#ifdef SWIG
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<iServiceInformation>, iServiceInformationPtr);
struct iAudioTrackInfo
{
-#ifdef SWIG
-private:
- iAudioTrackInfo();
- ~iAudioTrackInfo();
-public:
-#endif
#ifndef SWIG
std::string m_description;
std::string m_language; /* iso639 */
TEMPLATE_TYPEDEF(ePtr<iAudioChannelSelection>, iAudioChannelSelectionPtr);
+class iAudioDelay: public iObject
+{
+#ifdef SWIG
+ iAudioDelay();
+ ~iAudioDelay();
+#endif
+public:
+ virtual int getAC3Delay()=0;
+ virtual int getPCMDelay()=0;
+ virtual void setAC3Delay(int)=0;
+ virtual void setPCMDelay(int)=0;
+};
+
+TEMPLATE_TYPEDEF(ePtr<iAudioDelay>, iAudioDelayPtr);
+
+class iRadioText: public iObject
+{
+#ifdef SWIG
+ iRadioText();
+ ~iRadioText();
+#endif
+public:
+ virtual std::string getRadioText(int x=0)=0;
+};
+
+TEMPLATE_TYPEDEF(ePtr<iRadioText>, iRadioTextPtr);
+
class iSubserviceList: public iObject
{
#ifdef SWIG
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<iSubtitleOutput>, iSubtitleOutputPtr);
/* only when cueSheet is implemented */
evCuesheetChanged,
+
+ evUpdatedRadioText
};
virtual RESULT connectEvent(const Slot2<void,iPlayableService*,int> &event, ePtr<eConnection> &connection)=0;
virtual RESULT start()=0;
virtual SWIG_VOID(RESULT) timeshift(ePtr<iTimeshiftService> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) cueSheet(ePtr<iCueSheet> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) subtitle(ePtr<iSubtitleOutput> &SWIG_OUTPUT)=0;
+ virtual SWIG_VOID(RESULT) audioDelay(ePtr<iAudioDelay> &SWIG_OUTPUT)=0;
+ virtual SWIG_VOID(RESULT) radioText(ePtr<iRadioText> &SWIG_OUTPUT)=0;
};
TEMPLATE_TYPEDEF(ePtr<iPlayableService>, iPlayableServicePtr);
/* 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. */