+void eListboxServiceContent::getPrev(eServiceReference &ref)
+{
+ if (cursorValid())
+ {
+ list::iterator cursor(m_cursor);
+ if (cursor == m_list.begin())
+ {
+ cursor = m_list.end();
+ }
+ ref = *(--cursor);
+ }
+ else
+ ref = eServiceReference();
+}
+
+void eListboxServiceContent::getNext(eServiceReference &ref)
+{
+ if (cursorValid())
+ {
+ list::iterator cursor(m_cursor);
+ cursor++;
+ if (cursor == m_list.end())
+ {
+ cursor = m_list.begin();
+ }
+ ref = *(cursor);
+ }
+ else
+ ref = eServiceReference();
+}
+
+PyObject *eListboxServiceContent::getList()
+{
+ ePyObject result = PyList_New(m_list.size());
+ int pos=0;
+ for (list::iterator it(m_list.begin()); it != m_list.end(); ++it)
+ {
+ PyList_SET_ITEM(result, pos++, NEW_eServiceReference(*it));
+ }
+ return result;
+}
+