author | zecke <zecke> | 2002-09-24 14:58:51 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-09-24 14:58:51 (UTC) |
commit | 7b065f0388604e0485fa64a14abdf939dceab954 (patch) (side-by-side diff) | |
tree | d98925bb12547a078467421d6823ac875f09f025 /libopie2 | |
parent | 70328f952e475eb7eb0bc961420b875eefd05211 (diff) | |
download | opie-7b065f0388604e0485fa64a14abdf939dceab954.zip opie-7b065f0388604e0485fa64a14abdf939dceab954.tar.gz opie-7b065f0388604e0485fa64a14abdf939dceab954.tar.bz2 |
Add some hooks to ORecordList and Iterator
current() for Iterator
setCurrent() for Iterator
count() for both
-rw-r--r-- | libopie2/opiepim/orecordlist.h | 51 |
1 files changed, 48 insertions, 3 deletions
diff --git a/libopie2/opiepim/orecordlist.h b/libopie2/opiepim/orecordlist.h index 1795938..c63d813 100644 --- a/libopie2/opiepim/orecordlist.h +++ b/libopie2/opiepim/orecordlist.h @@ -49,5 +49,20 @@ public: + /** + * the current item + */ + uint current()const; + + /** + * the number of items + */ + uint count()const; + + /** + * sets the current item + */ + void setCurrent( uint cur ); + private: QArray<int> m_uids; - int m_current; + uint m_current; const Base* m_temp; @@ -88,2 +103,9 @@ public: Iterator end(); + + /** + * the number of items in the list + */ + uint count()const; + + // FIXME implemenent remove /* @@ -135,2 +157,7 @@ T ORecordListIterator<T>::operator*() { if (!m_end ) + /* FIXME + * until the cache is in place + * we do the uid match uid check + */ + if(m_record.uid() != m_uids[m_current] ) m_record = m_temp->find( m_uids[m_current] ); @@ -144,3 +171,3 @@ template <class T> ORecordListIterator<T> &ORecordListIterator<T>::operator++() { - if (m_current < (int)m_uids.count() ) { + if (m_current < m_uids.count() ) { m_end = false; @@ -185,3 +212,17 @@ ORecordListIterator<T>::ORecordListIterator( const QArray<int> uids, } - +template <class T> +uint ORecordListIterator<T>::current()const { + return m_current; +} +template <class T> +void ORecordListIterator<T>::setCurrent( uint cur ) { + if( cur < m_uids.count() ) { + m_end = false; + m_current= cur; + } +} +template <class T> +uint ORecordListIterator<T>::count()const { + return m_uids.count(); +} template <class T> @@ -209,2 +250,6 @@ ORecordList<T>::Iterator ORecordList<T>::end() { } +template <class T> +uint ORecordList<T>::count()const { +return m_ids.count(); +} #endif |