Diffstat (limited to 'libopie/pim/opimaccessbackend.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie/pim/opimaccessbackend.h | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/libopie/pim/opimaccessbackend.h b/libopie/pim/opimaccessbackend.h index c27acbb..27d3cb8 100644 --- a/libopie/pim/opimaccessbackend.h +++ b/libopie/pim/opimaccessbackend.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #include <qarray.h> | 4 | #include <qarray.h> |
5 | 5 | ||
6 | #include <opie/otemplatebase.h> | ||
6 | #include <opie/opimrecord.h> | 7 | #include <opie/opimrecord.h> |
7 | 8 | ||
8 | 9 | ||
@@ -17,6 +18,7 @@ | |||
17 | template <class T = OPimRecord> | 18 | template <class T = OPimRecord> |
18 | class OPimAccessBackend { | 19 | class OPimAccessBackend { |
19 | public: | 20 | public: |
21 | typedef OTemplateBase<T> Frontend; | ||
20 | OPimAccessBackend(); | 22 | OPimAccessBackend(); |
21 | virtual ~OPimAccessBackend(); | 23 | virtual ~OPimAccessBackend(); |
22 | 24 | ||
@@ -54,6 +56,8 @@ public: | |||
54 | */ | 56 | */ |
55 | virtual T find(int uid )const = 0; | 57 | virtual T find(int uid )const = 0; |
56 | 58 | ||
59 | virtual T find(int uid, const QArray<int>& items, | ||
60 | uint current, Frontend::CacheDirection )const ; | ||
57 | /** | 61 | /** |
58 | * clear the back end | 62 | * clear the back end |
59 | */ | 63 | */ |
@@ -74,16 +78,50 @@ public: | |||
74 | */ | 78 | */ |
75 | virtual bool replace( const T& t ) = 0; | 79 | virtual bool replace( const T& t ) = 0; |
76 | 80 | ||
81 | /* | ||
82 | * setTheFrontEnd!!! | ||
83 | */ | ||
84 | void setFrontend( Frontend* front ); | ||
85 | |||
86 | protected: | ||
87 | void cache( const T& t )const; | ||
88 | |||
89 | /** | ||
90 | * use a prime number here! | ||
91 | */ | ||
92 | void setSaneCacheSize( int ); | ||
93 | |||
94 | private: | ||
95 | Frontend* m_front; | ||
77 | 96 | ||
78 | }; | 97 | }; |
79 | 98 | ||
80 | template <class T> | 99 | template <class T> |
81 | OPimAccessBackend<T>::OPimAccessBackend() { | 100 | OPimAccessBackend<T>::OPimAccessBackend() { |
82 | 101 | m_front = 0l; | |
83 | } | 102 | } |
84 | template <class T> | 103 | template <class T> |
85 | OPimAccessBackend<T>::~OPimAccessBackend() { | 104 | OPimAccessBackend<T>::~OPimAccessBackend() { |
86 | 105 | ||
87 | } | 106 | } |
107 | template <class T> | ||
108 | void OPimAccessBackend<T>::setFrontend( Frontend* fr ) { | ||
109 | m_front = fr; | ||
110 | } | ||
111 | template <class T> | ||
112 | void OPimAccessBackend<T>::cache( const T& t )const { | ||
113 | if (m_front ) | ||
114 | m_front->cache( t ); | ||
115 | } | ||
116 | template <class T> | ||
117 | void OPimAccessBackend<T>::setSaneCacheSize( int size) { | ||
118 | if (m_front ) | ||
119 | m_front->setSaneCacheSize( size ); | ||
120 | } | ||
121 | template <class T> | ||
122 | T OPimAccessBackend<T>::find( int uid, const QArray<int>&, | ||
123 | uint, Frontend::CacheDirection )const { | ||
124 | return find( uid ); | ||
125 | } | ||
88 | 126 | ||
89 | #endif | 127 | #endif |