X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/dba614edd2aad3c17e244914eaef3809d8300cb1..5c66de23e71d94ddba590c67e4751e046a095e68:/lib/service/listboxservice.h diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h index 231bab16..36bb5bb4 100644 --- a/lib/service/listboxservice.h +++ b/lib/service/listboxservice.h @@ -4,6 +4,7 @@ #include #include +#include class eServiceCenter; class eListboxServiceContent: public virtual iListboxContent @@ -13,7 +14,19 @@ 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); + int lookupService(const eServiceReference &ref); + protected: void cursorHome(); void cursorEnd(); @@ -44,6 +57,11 @@ private: ePtr m_service_center; eServiceReference m_root; + + /* support for marked services */ + std::set m_marked; + + std::set::const_iterator m_marked_iterator; }; #endif