just show hdd info when there is one
[enigma2.git] / lib / service / listboxservice.h
index f32e08658ea3c5604bbe7cfcc3d6acc2aac80a05..d64805c5ed4eef64586f66a27b8526cb538a628d 100644 (file)
@@ -5,7 +5,6 @@
 #include <lib/service/iservice.h>
 
 #include <set>
-class eServiceCenter;
 
 class eListboxServiceContent: public virtual iListboxContent
 {
@@ -14,13 +13,13 @@ public:
        eListboxServiceContent();
        void setRoot(const eServiceReference &ref);
        void getCurrent(eServiceReference &ref);
-       
+
                /* 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);
@@ -46,6 +45,10 @@ public:
        void setElementPosition(int element, eRect where);
        void setElementFont(int element, gFont *font);
        
+       void sort();
+
+       int setCurrentMarked(bool);
+
 protected:
        void cursorHome();
        void cursorEnd();
@@ -53,7 +56,7 @@ protected:
        int cursorValid();
        int cursorSet(int n);
        int cursorGet();
-       
+
        void cursorSave();
        void cursorRestore();
        int size();
@@ -78,14 +81,17 @@ private:
        int m_size;
        
        eSize m_itemsize;
-       ePtr<eServiceCenter> m_service_center;
+       ePtr<iServiceHandler> m_service_center;
        
        eServiceReference m_root;
-       
+
                /* 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;
 };
 
 #endif