summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/opimaccessbackend.h
Unidiff
Diffstat (limited to 'libopie2/opiepim/backend/opimaccessbackend.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/opimaccessbackend.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/libopie2/opiepim/backend/opimaccessbackend.h b/libopie2/opiepim/backend/opimaccessbackend.h
index 0682063..15a7b7f 100644
--- a/libopie2/opiepim/backend/opimaccessbackend.h
+++ b/libopie2/opiepim/backend/opimaccessbackend.h
@@ -98,3 +98,3 @@ public:
98 virtual T find(int uid, const QArray<int>& items, 98 virtual T find(int uid, const QArray<int>& items,
99 uint current, typename Frontend::CacheDirection )const ; 99 uint current, typename Frontend::CacheDirection ) const;
100 /** 100 /**
@@ -130,4 +130,12 @@ protected:
130 int access()const; 130 int access()const;
131
131 void cache( const T& t )const; 132 void cache( const T& t )const;
132 133
134 /**
135 * Returns the element with given uid out of the cache.
136 * Returns empty element if nothing was found.
137 * <b>Attention:</b> This just works if we have a frontend which contains the cache !
138 */
139 T cacheFind( int uid ) const;
140
133 /** 141 /**
@@ -163,8 +171,19 @@ template <class T>
163void OPimAccessBackend<T>::cache( const T& t )const { 171void OPimAccessBackend<T>::cache( const T& t )const {
164 if (m_front ) 172 if ( m_front )
165 m_front->cache( t ); 173 m_front->cache( t );
166} 174}
175
176template <class T>
177T OPimAccessBackend<T>::cacheFind( int uid )const {
178 if ( ! m_front ){
179 qWarning ( "No frontend assigned ! Therefore we cannot access the cache to return the right element!" );
180 return T();
181 }
182
183 return m_front->cacheFind( uid );
184}
185
167template <class T> 186template <class T>
168void OPimAccessBackend<T>::setSaneCacheSize( int size) { 187void OPimAccessBackend<T>::setSaneCacheSize( int size) {
169 if (m_front ) 188 if ( m_front )
170 m_front->setSaneCacheSize( size ); 189 m_front->setSaneCacheSize( size );
@@ -173,3 +192,4 @@ template <class T>
173T OPimAccessBackend<T>::find( int uid, const QArray<int>&, 192T OPimAccessBackend<T>::find( int uid, const QArray<int>&,
174 uint, typename Frontend::CacheDirection )const { 193 uint, typename Frontend::CacheDirection ) const{
194 qDebug( "*** Lookahead feature not supported. Fallback to default find!" );
175 return find( uid ); 195 return find( uid );