fix marking non playable services in channellist
[enigma2.git] / lib / service / iservice.h
index e4127fb9443cf20d795a1d50ddb7a89c345a0e74..232e66f2872fbae8749d3e7d38abec4dfd291455 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <lib/python/swig.h>
 #include <lib/base/object.h>
+#include <lib/service/event.h>
 #include <string>
 #include <connection.h>
 #include <list>
@@ -172,7 +173,10 @@ public:
        virtual SWIG_VOID(RESULT) getName(const eServiceReference &ref, std::string &SWIG_OUTPUT)=0;
        
                // doesn't need to be implemented, should return -1 then.
-       virtual int getLength(const eServiceReference &ref)=0;
+       virtual int getLength(const eServiceReference &ref);
+       virtual SWIG_VOID(RESULT) getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &SWIG_OUTPUT);
+               // returns true when not implemented
+       virtual bool isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
 };
 
 TEMPLATE_TYPEDEF(ePtr<iStaticServiceInformation>, iStaticServiceInformationPtr);
@@ -262,7 +266,6 @@ public:
 
 TEMPLATE_TYPEDEF(ePtr<iAudioTrackSelection>, iAudioTrackSelectionPtr);
 
-
 class iPlayableService: public iObject
 {
        friend class iServiceHandler;