X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5a00da9dd62f3f51c50287d218374ad18e49761a..5ff227c657e02ebe2bc719faf4bd2231a04850c8:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 5a5a6cee..1f55fe49 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -2,6 +2,7 @@ #define __lib_dvb_iservice_h #include +#include #include #include #include @@ -166,6 +167,8 @@ public: SWIG_ALLOW_OUTPUT_SIMPLE(eServiceReference); +extern PyObject *New_eServiceReference(const eServiceReference &ref); // defined in enigma_python.i + typedef long long pts_t; /* the reason we have the servicereference as additional argument is @@ -365,6 +368,10 @@ class iTimeshiftService: public iObject 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; }; TEMPLATE_TYPEDEF(ePtr, iTimeshiftServicePtr); @@ -386,6 +393,9 @@ public: // when iServiceInformation is implemented: evUpdatedEventInfo, evUpdatedInfo, + + /* when seek() is implemented: */ + evSeekableStatusChanged, /* for example when timeshifting */ evEOF }; @@ -435,6 +445,8 @@ public: /* 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; }; TEMPLATE_TYPEDEF(ePtr, iMutableServiceListPtr); @@ -447,8 +459,9 @@ class iListableService: public iObject #endif public: /* legacy interface: get a list */ - virtual RESULT getContent(std::list &list)=0; - + virtual RESULT getContent(std::list &list, bool sorted=false)=0; + virtual RESULT getContent(PyObject *list, bool sorted=false)=0; + /* new, shiny interface: streaming. */ virtual SWIG_VOID(RESULT) getNext(eServiceReference &SWIG_OUTPUT)=0;