+SWIG_IGNORE(iSubserviceList);
+class iSubserviceList: public iObject
+{
+#ifdef SWIG
+ iSubserviceList();
+ ~iSubserviceList();
+#endif
+public:
+ virtual int getNumberOfSubservices()=0;
+ virtual SWIG_VOID(RESULT) getSubservice(eServiceReference &SWIG_OUTPUT, unsigned int n)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iSubserviceList>, iSubserviceListPtr);
+
+SWIG_IGNORE(iTimeshiftService);
+class iTimeshiftService: public iObject
+{
+#ifdef SWIG
+ iTimeshiftService();
+ ~iTimeshiftService();
+#endif
+public:
+ virtual RESULT startTimeshift()=0;
+ virtual RESULT stopTimeshift()=0;
+
+ virtual int isTimeshiftActive()=0;
+ /* this essentially seeks to the relative end of the timeshift buffer */
+ virtual RESULT activateTimeshift()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iTimeshiftService>, iTimeshiftServicePtr);
+
+ /* not related to eCueSheet */
+
+class iCueSheet_ENUMS
+{
+#ifdef SWIG
+ iCueSheet_ENUMS();
+ ~iCueSheet_ENUMS();
+#endif
+public:
+ enum { cutIn = 0, cutOut = 1, cutMark = 2 };
+};
+
+SWIG_IGNORE(iCueSheet);
+class iCueSheet: public iCueSheet_ENUMS, public iObject
+{
+#ifdef SWIG
+ iCueSheet();
+ ~iCueSheet();
+#endif
+public:
+ /* returns a list of (pts, what)-tuples */
+ virtual PyObject *getCutList() = 0;
+ virtual void setCutList(SWIG_PYOBJECT(ePyObject) list) = 0;
+ virtual void setCutListEnable(int enable) = 0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iCueSheet>, iCueSheetPtr);
+
+class eWidget;
+class PyList;
+
+SWIG_IGNORE(iSubtitleOutput);
+class iSubtitleOutput: public iObject
+{
+public:
+ virtual RESULT enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) entry)=0;
+ virtual RESULT disableSubtitles(eWidget *parent)=0;
+ virtual PyObject *getSubtitleList()=0;
+ virtual PyObject *getCachedSubtitle()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iSubtitleOutput>, iSubtitleOutputPtr);
+
+SWIG_IGNORE(iMutableServiceList);
+class iMutableServiceList: public iObject
+{
+#ifdef SWIG
+ iMutableServiceList();
+ ~iMutableServiceList();
+#endif
+public:
+ /* flush changes */
+ virtual RESULT flushChanges()=0;
+ /* adds a service to a list */
+ 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. */
+ /* pos is the new, absolute position from 0..size-1 */
+ virtual RESULT moveService(eServiceReference &ref, int pos)=0;
+ /* set name of list, for bouquets this is the visible bouquet name */
+ virtual RESULT setListName(const std::string &name)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iMutableServiceList>, iMutableServiceListPtr);
+
+SWIG_IGNORE(iListableService);