add seekChapter method to iSeekableService interface
[enigma2.git] / lib / service / iservice.h
index f367f6ad0af16efb27792abcf128e5c1f64cfdae..054e2224b748be8493f1af965bb49c464731ecd5 100644 (file)
@@ -84,7 +84,7 @@ public:
 #ifndef SWIG
        std::string name;
 #endif
-       std::string getName() { return name; }
+       std::string getName() const { return name; }
        void setName( const std::string &n ) { name=n; }
 
        eServiceReference()
@@ -301,7 +301,9 @@ public:
                sVideoHeight,
                sVideoWidth,
 
-               sTransponderData        /* transponderdata as python dict */
+               sTransponderData,       /* transponderdata as python dict */
+
+               sUser = 0x100
        };
        enum {
                resNA = -1,
@@ -355,7 +357,7 @@ public:
                lockState,
                syncState,
                frontendNumber,
-               signalPowerdB,
+               signalQualitydB,
        };
 };
 
@@ -418,6 +420,7 @@ public:
                   audio will be switched off, sync will be disabled etc. */
        virtual RESULT setTrickmode(int trick=0)=0;
        virtual RESULT isCurrentlySeekable()=0;
+       virtual RESULT seekChapter(int chapter)=0;      
 };
 SWIG_TEMPLATE_TYPEDEF(ePtr<iSeekableService>, iSeekableServicePtr);
 
@@ -665,6 +668,54 @@ public:
 };
 SWIG_TEMPLATE_TYPEDEF(ePtr<iServiceOfflineOperations>, iServiceOfflineOperationsPtr);
 
+SWIG_IGNORE(iStreamableService);
+class iStreamableService: public iObject
+{
+#ifdef SWIG
+       iStreamableService();
+       ~iStreamableService();
+#endif
+public:
+               /* returns a dict:
+                       { "demux": <n>,
+                         "pids": [(x,type),(y,type),(z,type),..],
+                         ...
+                       }
+                       with type being "video", "audio", "pmt", "pat"...
+               */
+       virtual PyObject *getStreamingData()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iStreamableService>, iStreamableServicePtr);
+
+class iServiceKeys_ENUMS
+{
+#ifdef SWIG
+       iServiceKeys_ENUMS();
+       ~iServiceKeys_ENUMS();
+#endif
+public:
+       enum {
+               keyLeft,
+               keyRight,
+               keyUp,
+               keyDown,
+               keyOk,
+               keyUser = 0x100
+       };
+};
+
+SWIG_IGNORE(iServiceKeys);
+class iServiceKeys: public iServiceKeys_ENUMS, public iObject
+{
+#ifdef SWIG
+       iServiceKeys();
+       ~iServiceKeys();
+#endif
+public:
+       virtual SWIG_VOID(RESULT) keyPressed(int key)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iServiceKeys>, iServiceKeysPtr);
+
 class iPlayableService_ENUMS
 {
 #ifdef SWIG
@@ -703,28 +754,11 @@ public:
 
                evVideoSizeChanged,
 
-               evStopped
-       };
-};
+               evStopped,
 
-SWIG_IGNORE(iStreamableService);
-class iStreamableService: public iObject
-{
-#ifdef SWIG
-       iStreamableService();
-       ~iStreamableService();
-#endif
-public:
-               /* returns a dict:
-                       { "demux": <n>,
-                         "pids": [(x,type),(y,type),(z,type),..],
-                         ...
-                       }
-                       with type being "video", "audio", "pmt", "pat"...
-               */
-       virtual PyObject *getStreamingData()=0;
+               evUser = 0x100
+       };
 };
-SWIG_TEMPLATE_TYPEDEF(ePtr<iStreamableService>, iStreamableServicePtr);
 
 SWIG_IGNORE(iPlayableService);
 class iPlayableService: public iPlayableService_ENUMS, public iObject
@@ -755,6 +789,7 @@ public:
        virtual SWIG_VOID(RESULT) audioDelay(ePtr<iAudioDelay> &SWIG_OUTPUT)=0;
        virtual SWIG_VOID(RESULT) rdsDecoder(ePtr<iRdsDecoder> &SWIG_OUTPUT)=0;
        virtual SWIG_VOID(RESULT) stream(ePtr<iStreamableService> &SWIG_OUTPUT)=0;
+       virtual SWIG_VOID(RESULT) keys(ePtr<iServiceKeys> &SWIG_OUTPUT)=0;
 };
 SWIG_TEMPLATE_TYPEDEF(ePtr<iPlayableService>, iPlayableServicePtr);