summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/core/opimaccesstemplate.h
Unidiff
Diffstat (limited to 'libopie2/opiepim/core/opimaccesstemplate.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/opimaccesstemplate.h81
1 files changed, 77 insertions, 4 deletions
diff --git a/libopie2/opiepim/core/opimaccesstemplate.h b/libopie2/opiepim/core/opimaccesstemplate.h
index e0708e1..36f5a99 100644
--- a/libopie2/opiepim/core/opimaccesstemplate.h
+++ b/libopie2/opiepim/core/opimaccesstemplate.h
@@ -9,35 +9,105 @@
9 9
10#include "otemplatebase.h" 10#include "otemplatebase.h"
11 11
12/**
13 * Thats the frontend to our OPIE PIM
14 * Library. Either you want to use it's
15 * interface or you want to implement
16 * your own Access lib
17 * Just create a OPimRecord and inherit from
18 * the plugins
19 */
20
12template <class T = OPimRecord > 21template <class T = OPimRecord >
13class OPimAccessTemplate : public OTemplateBase<T> { 22class OPimAccessTemplate : public OTemplateBase<T> {
14public: 23public:
15 typedef ORecordList<T> List; 24 typedef ORecordList<T> List;
16 typedef OPimAccessBackend<T> BackEnd; 25 typedef OPimAccessBackend<T> BackEnd;
26
27 /**
28 * our sort order
29 * should be safe explaining
30 */
31 enum SortOrder { WildCards = 0, IgnoreCase = 1,
32 RegExp = 2, ExactMatch = 4 };
33
34 /**
35 * c'tor BackEnd
36 */
17 OPimAccessTemplate( BackEnd* end); 37 OPimAccessTemplate( BackEnd* end);
18 virtual ~OPimAccessTemplate(); 38 virtual ~OPimAccessTemplate();
39
40 /**
41 * load from the backend
42 */
19 virtual void load(); 43 virtual void load();
44
45 /**
46 * reload from the backend
47 */
20 virtual void reload(); 48 virtual void reload();
49
50 /**
51 * save to the backend
52 */
21 virtual void save(); 53 virtual void save();
22 54
23 /* 55 /**
24 *do array to Records conversion 56 * if the resource was changed externally
25 * QArray<int> ids 57 */
58 bool wasChangedExternally()const;
59
60 /**
61 * return a List of records
62 * you can iterate over them
26 */ 63 */
27 virtual List allRecords()const; 64 virtual List allRecords()const;
65
66 /**
67 * queryByExample
68 */
28 virtual List queryByExample( const T& t, int sortOrder ); 69 virtual List queryByExample( const T& t, int sortOrder );
70
71 /**
72 * find the OPimRecord uid
73 */
29 virtual T find( int uid ); 74 virtual T find( int uid );
30 75
31 /* invalidate cache here */ 76 /* invalidate cache here */
77 /**
78 * clears the backend and invalidates the backend
79 */
32 virtual void clear() ; 80 virtual void clear() ;
81
82 /**
83 * add T to the backend
84 */
33 virtual bool add( const T& t ) ; 85 virtual bool add( const T& t ) ;
34 86
35 /* only the uid matters */ 87 /* only the uid matters */
88 /**
89 * remove T from the backend
90 */
36 virtual bool remove( const T& t ); 91 virtual bool remove( const T& t );
92
93 /**
94 * remove the OPimRecord with uid
95 */
37 virtual bool remove( int uid ); 96 virtual bool remove( int uid );
97
98 /**
99 * replace T from backend
100 */
38 virtual bool replace( const T& t) ; 101 virtual bool replace( const T& t) ;
39protected: 102protected:
103 /**
104 * invalidate the cache
105 */
40 void invalidateCache(); 106 void invalidateCache();
107
108 /**
109 * returns the backend
110 */
41 BackEnd* backEnd(); 111 BackEnd* backEnd();
42 BackEnd* m_backEnd; 112 BackEnd* m_backEnd;
43 113
@@ -114,5 +184,8 @@ template <class T>
114OPimAccessTemplate<T>::BackEnd* OPimAccessTemplate<T>::backEnd() { 184OPimAccessTemplate<T>::BackEnd* OPimAccessTemplate<T>::backEnd() {
115 return m_backEnd; 185 return m_backEnd;
116} 186}
117 187template <class T>
188bool OPimAccessTemplate<T>::wasChangedExternally()const {
189 return false;
190}
118#endif 191#endif