Diffstat (limited to 'libopie2/opiepim/core/opimaccesstemplate.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiepim/core/opimaccesstemplate.h | 81 |
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 | |||
@@ -10,4 +10,13 @@ | |||
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 | |||
12 | template <class T = OPimRecord > | 21 | template <class T = OPimRecord > |
13 | class OPimAccessTemplate : public OTemplateBase<T> { | 22 | class OPimAccessTemplate : public OTemplateBase<T> { |
@@ -15,28 +24,89 @@ public: | |||
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) ; |
39 | protected: | 102 | protected: |
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; |
@@ -115,4 +185,7 @@ OPimAccessTemplate<T>::BackEnd* OPimAccessTemplate<T>::backEnd() { | |||
115 | return m_backEnd; | 185 | return m_backEnd; |
116 | } | 186 | } |
117 | 187 | template <class T> | |
188 | bool OPimAccessTemplate<T>::wasChangedExternally()const { | ||
189 | return false; | ||
190 | } | ||
118 | #endif | 191 | #endif |