Support scrambled playback.
[vuplus_dvbapp] / lib / service / iservice.h
index 24c2e34..33ff66b 100644 (file)
@@ -289,6 +289,7 @@ public:
                sFileSize,
 
                sCAIDs,
+               sCAIDPIDs,
                sVideoType,             /* MPEG2 MPEG4 */
 
                sTags,                          /* space seperated list of tags */
@@ -356,6 +357,12 @@ public:
                sTagCRC,
                sTagChannelMode,
 
+               sTransferBPS,
+
+               sHBBTVUrl,
+               sLiveStreamDemuxId,
+               sIsScrambled,
+
                sUser = 0x100
        };
        enum {
@@ -593,7 +600,8 @@ class iTimeshiftService: public iObject
 #endif
 public:
        virtual RESULT startTimeshift()=0;
-       virtual RESULT stopTimeshift()=0;
+       virtual RESULT stopTimeshift(bool swToLive=true)=0;
+       virtual RESULT setNextPlaybackFile(const char *fn)=0; // not needed by our internal timeshift.. but external plugin...
 
        virtual int isTimeshiftActive()=0;
                        /* this essentially seeks to the relative end of the timeshift buffer */
@@ -719,6 +727,9 @@ public:
 
                /* for transferring a service... */
        virtual SWIG_VOID(RESULT) getListOfFilenames(std::list<std::string> &SWIG_OUTPUT)=0;
+       
+               /* a blocking call to reindex a file */
+       virtual int reindex() = 0;
 
                // TODO: additional stuff, like a conversion interface?
 };
@@ -829,6 +840,9 @@ public:
                evBuffering,
 
                evStopped,
+               evHBBTVInfo,
+
+               evFccFailed,
 
                evUser = 0x100
        };
@@ -885,7 +899,10 @@ public:
                evNewProgramInfo,
                evRecordFailed,
                evRecordWriteError,
-               evNewEventInfo
+               evNewEventInfo,
+               evTuneStart,
+               evPvrTuneStart,
+               evPvrEof,
        };
        enum {
                NoError=0,
@@ -896,6 +913,7 @@ public:
                errTuneFailed=-255,
                errMisconfiguration = -256,
                errNoResources = -257,
+               errNoCiConnected = -258
        };
 };
 
@@ -911,13 +929,14 @@ 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, const char *name=0, const char *descr=0, const char *tags=0)=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, bool descramble = true, bool recordecm = false)=0;
        virtual RESULT prepareStreaming()=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;
        virtual SWIG_VOID(RESULT) subServices(ePtr<iSubserviceList> &SWIG_OUTPUT)=0;
+       virtual SWIG_VOID(RESULT) getServiceType(int &SWIG_OUTPUT)=0;
 };
 SWIG_TEMPLATE_TYPEDEF(ePtr<iRecordableService>, iRecordableServicePtr);