add support for read signal quality, power and biterror rate from python
[enigma2.git] / lib / service / iservice.h
index ab95ef79abe49e58c719f453e4cf68ee82ce3d89..dfd066934099ce8694589a62c2538c3365998fdc 100644 (file)
@@ -175,6 +175,8 @@ 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<eServiceEvent> &SWIG_OUTPUT);
+               // returns true when not implemented
+       virtual bool isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
 };
 
 TEMPLATE_TYPEDEF(ePtr<iStaticServiceInformation>, iStaticServiceInformationPtr);
@@ -222,6 +224,19 @@ public:
 
 TEMPLATE_TYPEDEF(ePtr<iServiceInformation>, iServiceInformationPtr);
 
+class iFrontendStatusInformation: public iObject
+{
+public:
+       enum {
+               bitErrorRate,
+               signalPower,
+               signalQuality
+       };
+       virtual int getFrontendInfo(int w)=0;
+};
+
+TEMPLATE_TYPEDEF(ePtr<iFrontendStatusInformation>, iFrontendStatusInformationPtr);
+
 class iPauseableService: public iObject
 {
 public:
@@ -264,7 +279,6 @@ public:
 
 TEMPLATE_TYPEDEF(ePtr<iAudioTrackSelection>, iAudioTrackSelectionPtr);
 
-
 class iPlayableService: public iObject
 {
        friend class iServiceHandler;
@@ -286,6 +300,7 @@ public:
        virtual SWIG_VOID(RESULT) pause(ePtr<iPauseableService> &SWIG_OUTPUT)=0;
        virtual SWIG_VOID(RESULT) info(ePtr<iServiceInformation> &SWIG_OUTPUT)=0;
        virtual SWIG_VOID(RESULT) audioTracks(ePtr<iAudioTrackSelection> &SWIG_OUTPUT)=0;
+       virtual SWIG_VOID(RESULT) frontendStatusInfo(ePtr<iFrontendStatusInformation> &SWIG_OUTPUT)=0;
 };
 
 TEMPLATE_TYPEDEF(ePtr<iPlayableService>, iPlayableServicePtr);