X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ba02fb4aced5868d047a5bffbd2ed87583daee4d..d7d291938c45893e28715fb12ae5b83d334084e9:/lib/service/iservice.h?ds=sidebyside diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 766d850e..5a8a0627 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -142,13 +142,26 @@ public: } }; -class iServiceInformation: public iObject + /* the reason we have the servicereference as additional argument is + that we don't have to create one object for every entry in a possibly + large list, provided that no state information is nessesary to deliver + the required information. Anyway - ref *must* be the same as the argument + to the info() or getIServiceInformation call! */ +class iStaticServiceInformation: public iObject { public: - virtual RESULT getName(std::string &name)=0; + virtual RESULT getName(const eServiceReference &ref, std::string &name)=0; }; -typedef ePtr iServiceInformationPtr; +TEMPLATE_TYPEDEF(ePtr, iStaticServiceInformationPtr); + +class iServiceInformation: public iStaticServiceInformation +{ +public: + +}; + +TEMPLATE_TYPEDEF(ePtr, iServiceInformationPtr); class iPauseableService: public iObject { @@ -157,7 +170,7 @@ public: virtual RESULT unpause()=0; }; -typedef ePtr iPauseableServicePtr; +TEMPLATE_TYPEDEF(ePtr, iPauseableServicePtr); class iPlayableService: public iObject { @@ -171,8 +184,8 @@ public: virtual RESULT connectEvent(const Slot2 &event, ePtr &connection)=0; virtual RESULT start()=0; virtual RESULT stop()=0; - virtual RESULT getIPausableService(ePtr &ptr)=0; - virtual RESULT getIServiceInformation(ePtr &ptr)=0; + virtual RESULT pause(ePtr &ptr)=0; + virtual RESULT info(ePtr &ptr)=0; }; TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); @@ -184,10 +197,9 @@ public: virtual RESULT stop()=0; }; -typedef ePtr iRecordableServicePtr; +TEMPLATE_TYPEDEF(ePtr, iRecordableServicePtr); // TEMPLATE_TYPEDEF(std::list, eServiceReferenceList); -typedef std::list eServiceReferenceList; class iListableService: public iObject { @@ -203,8 +215,9 @@ public: virtual RESULT play(const eServiceReference &, ePtr &ptr)=0; virtual RESULT record(const eServiceReference &, ePtr &ptr)=0; virtual RESULT list(const eServiceReference &, ePtr &ptr)=0; + virtual RESULT info(const eServiceReference &, ePtr &ptr); }; -typedef ePtr iServiceHandlerPtr; +TEMPLATE_TYPEDEF(ePtr, iServiceHandlerPtr); #endif