Diffstat (limited to 'libopie/pim/opimaccesstemplate.h') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie/pim/opimaccesstemplate.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/libopie/pim/opimaccesstemplate.h b/libopie/pim/opimaccesstemplate.h index 8cf81c8..259e2c1 100644 --- a/libopie/pim/opimaccesstemplate.h +++ b/libopie/pim/opimaccesstemplate.h @@ -23,4 +23,8 @@ template <class T = OPimRecord > class OPimAccessTemplate : public OTemplateBase<T> { public: + enum Access { + Random = 0, + SortedAccess + }; typedef ORecordList<T> List; typedef OPimAccessBackend<T> BackEnd; @@ -29,6 +33,8 @@ public: /** * c'tor BackEnd + * enum Access a small hint on how to handle the backend */ OPimAccessTemplate( BackEnd* end); + virtual ~OPimAccessTemplate(); @@ -36,5 +42,5 @@ public: * load from the backend */ - virtual bool load(); + bool load(); /** Reload database. @@ -50,5 +56,5 @@ public: * @return true if successful */ - virtual bool save(); + bool save(); /** @@ -86,5 +92,5 @@ public: * clears the backend and invalidates the backend */ - virtual void clear() ; + void clear() ; /** @@ -109,5 +115,6 @@ public: * @return <i>true</i> if successful. */ - virtual bool remove( int uid ); + bool remove( int uid ); + bool remove( const OPimRecord& ); /** @@ -124,4 +131,6 @@ public: void cache( const T& )const; void setSaneCacheSize( int ); + + QArray<int> records()const; protected: /** @@ -173,4 +182,8 @@ typename OPimAccessTemplate<T>::List OPimAccessTemplate<T>::allRecords()const { } template <class T> +QArray<int> OPimAccessTemplate<T>::records()const { + return m_backEnd->allRecords(); +} +template <class T> typename OPimAccessTemplate<T>::List OPimAccessTemplate<T>::queryByExample( const T& t, int sortOrder ) { @@ -232,4 +245,8 @@ bool OPimAccessTemplate<T>::remove( int uid ) { } template <class T> +bool OPimAccessTemplate<T>::remove( const OPimRecord& rec) { + return remove( rec.uid() ); +} +template <class T> bool OPimAccessTemplate<T>::replace( const T& t ) { m_cache.replace( t ); |