needed for files > 2GB
[enigma2.git] / lib / service / listboxservice.h
index b2fc311b7bd5fcfb4729da8b2e339f3ea6f0618b..234cd39014e5e85b01cc0bc6fc4748041029b0ba 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <lib/gui/elistbox.h>
 #include <lib/service/iservice.h>
-
 #include <set>
 
 class eListboxServiceContent: public virtual iListboxContent
@@ -11,21 +10,29 @@ class eListboxServiceContent: public virtual iListboxContent
        DECLARE_REF(eListboxServiceContent);
 public:
        eListboxServiceContent();
-       void setRoot(const eServiceReference &ref);
+
+       void addService(const eServiceReference &ref);
+       void FillFinished();
+
+       void setIgnoreService( const eServiceReference &service );
+       void setRoot(const eServiceReference &ref, bool justSet=false);
        void getCurrent(eServiceReference &ref);
        
+       int getNextBeginningWithChar(char c);
+
                /* support for marked services */
        void initMarked();
        void addMarked(const eServiceReference &ref);
        void removeMarked(const eServiceReference &ref);
        int isMarked(const eServiceReference &ref);
-       
+
                /* this is NOT thread safe! */
        void markedQueryStart();
        int markedQueryNext(eServiceReference &ref);
 
        int lookupService(const eServiceReference &ref);
-       
+       void setCurrent(const eServiceReference &ref);
+
        enum {
                visModeSimple,
                visModeComplex
@@ -35,9 +42,9 @@ public:
        
                /* only in complex mode: */
        enum {
-               celServiceName,
-               celServiceNumber,
                celIcon,
+               celServiceNumber,
+               celServiceName,
                celServiceInfo, // "now" event
                celElements
        };
@@ -46,9 +53,10 @@ public:
        void setElementFont(int element, gFont *font);
        
        void sort();
-       
+
        int setCurrentMarked(bool);
-       
+
+       void setNumberOffset(int offset) { m_numberoffset = offset; }
 protected:
        void cursorHome();
        void cursorEnd();
@@ -56,7 +64,7 @@ protected:
        int cursorValid();
        int cursorSet(int n);
        int cursorGet();
-       
+
        void cursorSave();
        void cursorRestore();
        int size();
@@ -87,12 +95,14 @@ private:
 
                /* support for marked services */
        std::set<eServiceReference> m_marked;
-       
        std::set<eServiceReference>::const_iterator m_marked_iterator;
 
                /* support for movemode */
        bool m_current_marked;
-       list::iterator m_swap;
+
+       int m_numberoffset;
+
+       eServiceReference m_is_playable_ignore;
 };
 
 #endif