-// TEMPLATE_TYPEDEF(std::list<eServiceReference>, eServiceReferenceList);
-
-class iMutableServiceList: public iObject
-{
-#ifdef SWIG
- iMutableServiceList();
- ~iMutableServiceList();
-#endif
-public:
- /* flush changes */
- virtual RESULT flushChanges()=0;
- /* adds a service to a list */
- virtual RESULT addService(eServiceReference &ref, eServiceReference before=eServiceReference())=0;
- /* removes a service from a list */
- virtual RESULT removeService(eServiceReference &ref)=0;
- /* moves a service in a list, only if list suppports a specific sort method. */
- /* pos is the new, absolute position from 0..size-1 */
- virtual RESULT moveService(eServiceReference &ref, int pos)=0;
- /* set name of list, for bouquets this is the visible bouquet name */
- virtual RESULT setListName(const std::string &name)=0;
-};
-
-TEMPLATE_TYPEDEF(ePtr<iMutableServiceList>, iMutableServiceListPtr);
-
-class iListableService: public iObject
-{
-#ifdef SWIG
- iListableService();
- ~iListableService();
-#endif
-public:
-#ifndef SWIG
- /* legacy interface: get a list */
- virtual RESULT getContent(std::list<eServiceReference> &list, bool sorted=false)=0;
-#endif
- virtual PyObject *getContent(const char* format, bool sorted=false)=0;
-
- /* new, shiny interface: streaming. */
- virtual SWIG_VOID(RESULT) getNext(eServiceReference &SWIG_OUTPUT)=0;
-
- /* use this for sorting. output is not sorted because of either
- - performance reasons: the whole list must be buffered or
- - the interface would be restricted to a list. streaming
- (as well as a future "active" extension) won't be possible.
- */
- virtual int compareLessEqual(const eServiceReference &, const eServiceReference &)=0;
-
- virtual SWIG_VOID(RESULT) startEdit(ePtr<iMutableServiceList> &SWIG_OUTPUT)=0;
-};
-
-TEMPLATE_TYPEDEF(ePtr<iListableService>, iListableServicePtr);
-
-#ifndef SWIG
- /* a helper class which can be used as argument to stl's sort(). */
-class iListableServiceCompare
-{
- ePtr<iListableService> m_list;
-public:
- iListableServiceCompare(iListableService *list): m_list(list) { }
- bool operator()(const eServiceReference &a, const eServiceReference &b)
- {
- return m_list->compareLessEqual(a, b);
- }
-};
-#endif
-
-class iServiceOfflineOperations: public iObject
-{
-#ifdef SWIG
- iServiceOfflineOperations();
- ~iServiceOfflineOperations();
-#endif
-public:
- /* to delete a service, forever. */
- virtual RESULT deleteFromDisk(int simulate=1)=0;
-
- /* for transferring a service... */
- virtual SWIG_VOID(RESULT) getListOfFilenames(std::list<std::string> &SWIG_OUTPUT)=0;
-
- // TODO: additional stuff, like a conversion interface?
-};
-
-TEMPLATE_TYPEDEF(ePtr<iServiceOfflineOperations>, iServiceOfflineOperationsPtr);
-