diff options
Diffstat (limited to 'lib/service')
| -rw-r--r-- | lib/service/iservice.h | 2 | ||||
| -rw-r--r-- | lib/service/listboxservice.h | 14 | ||||
| -rw-r--r-- | lib/service/servicedvb.cpp | 7 | ||||
| -rw-r--r-- | lib/service/servicedvb.h | 1 |
4 files changed, 16 insertions, 8 deletions
diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 5f861899..e21fd99f 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -252,6 +252,8 @@ TEMPLATE_TYPEDEF(ePtr<iRecordableService>, iRecordableServicePtr); class iMutableServiceList: public iObject { public: + /* flush changes */ + virtual RESULT flushChanges()=0; /* adds a service to a list */ virtual RESULT addService(eServiceReference &ref)=0; /* removes a service from a list */ diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h index b2fc311b..e65ffc8d 100644 --- a/lib/service/listboxservice.h +++ b/lib/service/listboxservice.h @@ -13,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,17 +46,16 @@ public: void setElementFont(int element, gFont *font); void sort(); - + int setCurrentMarked(bool); - + int cursorSet(int n); + int cursorGet(); protected: void cursorHome(); void cursorEnd(); int cursorMove(int count=1); int cursorValid(); - int cursorSet(int n); - int cursorGet(); - + void cursorSave(); void cursorRestore(); int size(); @@ -87,7 +86,6 @@ private: /* support for marked services */ std::set<eServiceReference> m_marked; - std::set<eServiceReference>::const_iterator m_marked_iterator; /* support for movemode */ diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index b1c18a1d..77fe3faf 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -312,6 +312,13 @@ RESULT eDVBServiceList::moveService(eServiceReference &ref, int pos) return m_bouquet->moveService(ref, pos); } +RESULT eDVBServiceList::flushChanges() +{ + if (!m_bouquet) + return -1; + return m_bouquet->flushChanges(); +} + RESULT eServiceFactoryDVB::play(const eServiceReference &ref, ePtr<iPlayableService> &ptr) { ePtr<eDVBService> service; diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 165703dd..ac856ed7 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -37,6 +37,7 @@ public: int compareLessEqual(const eServiceReference &a, const eServiceReference &b); RESULT startEdit(ePtr<iMutableServiceList> &); + RESULT flushChanges(); RESULT addService(eServiceReference &ref); RESULT removeService(eServiceReference &ref); RESULT moveService(eServiceReference &ref, int pos); |
