Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
[vuplus_dvbapp] / lib / service / iservice.h
index dac3984..97930a7 100644 (file)
@@ -240,7 +240,7 @@ public:
        virtual int getLength(const eServiceReference &ref);
        virtual SWIG_VOID(RESULT) getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &SWIG_OUTPUT, time_t start_time=-1);
                // returns true when not implemented
-       virtual int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+       virtual int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate=false);
 
        virtual int getInfo(const eServiceReference &ref, int w);
        virtual std::string getInfoString(const eServiceReference &ref,int w);
@@ -261,6 +261,8 @@ public:
        enum {
                sIsCrypted,             /* is encrypted (no indication if decrypt was possible) */
                sAspect,                /* aspect ratio: 0=4:3, 1=16:9, 2=whatever we need */
+               sFrameRate,                     /* frame rate */
+               sProgressive,           /* 0 = interlaced, 1 = progressive */
                sIsMultichannel,        /* multichannel *available* (probably not selected) */
 
                        /* "user serviceable info" - they are not reliable. Don't use them for anything except the service menu!
@@ -303,6 +305,11 @@ public:
 
                sTransponderData,       /* transponderdata as python dict */
 
+               sCurrentChapter,
+               sCurrentTitle,
+               sTotalChapters,
+               sTotalTitles,
+
                sUser = 0x100
        };
        enum {
@@ -385,6 +392,8 @@ class iPauseableService: public iObject
        ~iPausableService();
 #endif
 public:
+
+               /* this will set the *state* directly. So just call a SINGLE function of those at a time. */
        virtual RESULT pause()=0;
        virtual RESULT unpause()=0;
 
@@ -420,8 +429,8 @@ 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) { return -1; }
-       virtual RESULT seekTitle(int chapter) { return -1; }
+       virtual RESULT seekChapter(int) { return -1; }
+       virtual RESULT seekTitle(int) { return -1; }
 };
 SWIG_TEMPLATE_TYPEDEF(ePtr<iSeekableService>, iSeekableServicePtr);
 
@@ -730,6 +739,7 @@ public:
                evStart,
                evEnd,
 
+               evTunedIn,
                evTuneFailed,
 
                        /* when iServiceInformation is implemented:*/
@@ -754,6 +764,8 @@ public:
                evUpdatedRassInteractivePicMask,
 
                evVideoSizeChanged,
+               evVideoFramerateChanged,
+               evVideoProgressiveChanged,
 
                evStopped,
 
@@ -836,9 +848,9 @@ public:
        virtual RESULT connectEvent(const Slot2<void,iRecordableService*,int> &event, ePtr<eConnection> &connection)=0;
 #endif
        virtual SWIG_VOID(RESULT) getError(int &SWIG_OUTPUT)=0;
-       virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1)=0;
+       virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1, const char *name=0, const char *descr=0, const char *tags=0)=0;
        virtual RESULT prepareStreaming()=0;
-       virtual RESULT start()=0;
+       virtual RESULT start(bool simulate=false)=0;
        virtual RESULT stop()=0;
        virtual SWIG_VOID(RESULT) frontendInfo(ePtr<iFrontendInformation> &SWIG_OUTPUT)=0;
        virtual SWIG_VOID(RESULT) stream(ePtr<iStreamableService> &SWIG_OUTPUT)=0;