working on move, edit mode and add remove service to context menu
[enigma2.git] / lib / dvb / idvb.h
index d353611d01d815b2e0aed29a575bd9f88688a382..a23960af5607858547c5a5253ca54b78b4d035ae 100644 (file)
@@ -19,7 +19,13 @@ struct eBouquet
 {
        std::string m_bouquet_name;
        std::string m_path;
-       std::list<eServiceReference> m_services;
+       typedef std::list<eServiceReference> list;
+       list m_services;
+// the following four methods are implemented in db.cpp
+       RESULT flushChanges();
+       RESULT addService(const eServiceReference &);
+       RESULT removeService(const eServiceReference &);
+       RESULT moveService(const eServiceReference &, unsigned int);
 };
 
                // bitte KEINE operator int() definieren, sonst bringt das ganze nix!
@@ -262,7 +268,7 @@ public:
        virtual RESULT addService(const eServiceReferenceDVB &service, eDVBService *service)=0;
        virtual RESULT getService(const eServiceReferenceDVB &reference, ePtr<eDVBService> &service)=0;
 
-       virtual RESULT getBouquet(const eServiceReference &ref, const eBouquet* &bouquet)=0;
+       virtual RESULT getBouquet(const eServiceReference &ref,  eBouquet* &bouquet)=0;
 
        virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source)=0;
 };
@@ -401,7 +407,8 @@ public:
                stateIdle = 0,
                stateTuning = 1,
                stateFailed = 2,
-               stateLock = 3
+               stateLock = 3,
+               stateLostLock = 4,
        };
        virtual RESULT getState(int &state)=0;
        enum {
@@ -438,6 +445,7 @@ public:
        {
                state_idle,        /* not yet tuned */
                state_tuning,      /* currently tuning (first time) */
+               state_failed,      /* tuning failed. */
                state_unavailable, /* currently unavailable, will be back without further interaction */
                state_ok,          /* ok */
                state_release      /* channel is being shut down. */
@@ -479,8 +487,7 @@ public:
        virtual RESULT getLength(pts_t &pts) = 0;
        virtual RESULT getCurrentPosition(pts_t &pos) = 0;
        virtual RESULT seekTo(pts_t &pts) = 0;
-       
-       // seekTo ...
+       virtual RESULT seekToPosition(int relative, const off_t &pts) = 0;
 };
 
 class iDVBSectionReader;