X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/391f7559e77cf98ea3b5a1fba94a8fa6f4307da8..821d8204a00c544ff56a7ac80da22bb0d1e5c81d:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index dfd06693..962e4a95 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -3,11 +3,12 @@ #include #include -#include #include #include #include +class eServiceEvent; + class eServiceReference { public: @@ -51,11 +52,13 @@ public: std::string name; std::string getName() { return name; } + void setName( const std::string &n ) { name=n; } + eServiceReference() : type(idInvalid), flags(0) { + memset(data, 0, sizeof(data)); } - eServiceReference(int type, int flags) : type(type), flags(flags) { @@ -174,15 +177,13 @@ public: // doesn't need to be implemented, should return -1 then. virtual int getLength(const eServiceReference &ref); - virtual SWIG_VOID(RESULT) getEvent(const eServiceReference &ref, ePtr &SWIG_OUTPUT); + virtual SWIG_VOID(RESULT) getEvent(const eServiceReference &ref, ePtr &SWIG_OUTPUT, time_t start_time=0); // returns true when not implemented virtual bool isPlayable(const eServiceReference &ref, const eServiceReference &ignore); }; TEMPLATE_TYPEDEF(ePtr, iStaticServiceInformationPtr); -class eServiceEvent; - TEMPLATE_TYPEDEF(ePtr, eServiceEventPtr); class iServiceInformation: public iObject @@ -242,6 +243,10 @@ class iPauseableService: public iObject public: virtual RESULT pause()=0; virtual RESULT unpause()=0; + + /* hm. */ + virtual RESULT setSlowMotion(int ratio=0)=0; + virtual RESULT setFastForward(int ratio=0)=0; }; TEMPLATE_TYPEDEF(ePtr, iPauseableServicePtr); @@ -279,6 +284,15 @@ public: TEMPLATE_TYPEDEF(ePtr, iAudioTrackSelectionPtr); +class iSubserviceList: public iObject +{ +public: + virtual int getNumberOfSubservices()=0; + virtual SWIG_VOID(RESULT) getSubservice(eServiceReference &SWIG_OUTPUT, unsigned int n)=0; +}; + +TEMPLATE_TYPEDEF(ePtr, iSubserviceListPtr); + class iPlayableService: public iObject { friend class iServiceHandler; @@ -300,6 +314,7 @@ public: virtual SWIG_VOID(RESULT) pause(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) info(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) audioTracks(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) subServices(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) frontendStatusInfo(ePtr &SWIG_OUTPUT)=0; };