X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d9ee52e4f0fbe9a1ae00d0e66f9e6f0a07fa319f..98c4b5bb004e9297bffa8e1c3572572741fda933:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 5a8a0627..4592a971 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -6,14 +6,6 @@ #include #include -#ifdef SWIG -#define TEMPLATE_TYPEDEF(x, y) \ -%template(y) x; \ -typedef x y -#else -#define TEMPLATE_TYPEDEF(x, y) typedef x y -#endif - class eServiceReference { public: @@ -151,14 +143,22 @@ class iStaticServiceInformation: public iObject { public: virtual RESULT getName(const eServiceReference &ref, std::string &name)=0; + + // FOR SWIG + std::string getName(const eServiceReference &ref) { std::string temp; getName(ref, temp); return temp; } }; TEMPLATE_TYPEDEF(ePtr, iStaticServiceInformationPtr); -class iServiceInformation: public iStaticServiceInformation +class eServiceEvent; + +class iServiceInformation: public iObject { public: - + virtual RESULT getName(std::string &name)=0; + // FOR SWIG + std::string getName() { std::string temp; getName(temp); return temp; } + virtual RESULT getEvent(ePtr &evt, int nownext); }; TEMPLATE_TYPEDEF(ePtr, iServiceInformationPtr); @@ -179,7 +179,10 @@ public: enum { evStart, - evEnd + evEnd, + + // when iServiceInformation is implemented: + evUpdatedEventInfo }; virtual RESULT connectEvent(const Slot2 &event, ePtr &connection)=0; virtual RESULT start()=0; @@ -193,6 +196,7 @@ TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); class iRecordableService: public iObject { public: + virtual RESULT prepare()=0; virtual RESULT start()=0; virtual RESULT stop()=0; };