Diffstat (limited to 'libopie/pim/opimaccessbackend.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie/pim/opimaccessbackend.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libopie/pim/opimaccessbackend.h b/libopie/pim/opimaccessbackend.h index 8e744e7..5707b58 100644 --- a/libopie/pim/opimaccessbackend.h +++ b/libopie/pim/opimaccessbackend.h @@ -1,36 +1,89 @@ #ifndef OPIE_PIM_ACCESS_BACKEND #define OPIE_PIM_ACCESS_BACKEND #include <qarray.h> #include <opie/opimrecord.h> + +/** + * OPimAccessBackend is the base class + * for all private backends + * it operates on OPimRecord as the base class + * and it's responsible for fast manipulating + * the resource the implementation takes care + * of + */ template <class T = OPimRecord> class OPimAccessBackend { public: OPimAccessBackend(); virtual ~OPimAccessBackend(); + + /** + * load the resource + */ virtual void load() = 0; + + /** + * reload the resource + */ virtual void reload() = 0; + + /** + * save the resource and + * all it's changes + */ virtual void save() = 0; + + /** + * return an array of + * all available uids + */ virtual QArray<int> allRecords()const = 0; + + /** + * queryByExample for T with the SortOrder + * sort + */ virtual QArray<int> queryByExample( const T& t, int sort ) = 0; + + /** + * find the OPimRecord with uid @param uid + * returns T and T.isEmpty() if nothing was found + */ virtual T find(int uid ) = 0; + + /** + * clear the back end + */ virtual void clear() = 0; + + /** + * add T + */ virtual bool add( const T& t ) = 0; + + /** + * remove + */ virtual bool remove( int uid ) = 0; + + /** + * replace a record with T.uid() + */ virtual bool replace( const T& t ) = 0; }; template <class T> OPimAccessBackend<T>::OPimAccessBackend() { } template <class T> OPimAccessBackend<T>::~OPimAccessBackend() { } #endif |