15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #include "thumbnailfetchedchecker.h" |
18 #include "thumbnailfetchedchecker.h" |
19 #include "thumbnaillog.h" |
19 #include "thumbnaillog.h" |
|
20 #include "OstTraceDefinitions.h" |
|
21 #ifdef OST_TRACE_COMPILER_IN_USE |
|
22 #include "thumbnailfetchedcheckerTraces.h" |
|
23 #endif |
|
24 |
20 |
25 |
21 const int KMaxStoredEntries = 100; |
26 const int KMaxStoredEntries = 100; |
22 |
27 |
23 // ----------------------------------------------------------------------------- |
28 // ----------------------------------------------------------------------------- |
24 // CThumbnailFetchedChecker::CThumbnailFetchedChecker() |
29 // CThumbnailFetchedChecker::CThumbnailFetchedChecker() |
51 // ----------------------------------------------------------------------------- |
56 // ----------------------------------------------------------------------------- |
52 // |
57 // |
53 TInt CThumbnailFetchedChecker::LastFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize ) |
58 TInt CThumbnailFetchedChecker::LastFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize ) |
54 { |
59 { |
55 TN_DEBUG3( "CThumbnailFetchedChecker::LastFetchResult(aUri=%S aThumbnailSize=%d)", &aUri, aThumbnailSize); |
60 TN_DEBUG3( "CThumbnailFetchedChecker::LastFetchResult(aUri=%S aThumbnailSize=%d)", &aUri, aThumbnailSize); |
|
61 OstTraceExt2( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_LASTFETCHRESULT, "CThumbnailFetchedChecker::LastFetchResult;aUri=%S;aThumbnailSize=%hu", aUri, aThumbnailSize ); |
56 |
62 |
57 CEntry* entry = NULL; |
63 CEntry* entry = NULL; |
58 TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, KErrNone ) ); |
64 TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, KErrNone ) ); |
59 if ( !err && entry ) |
65 if ( !err && entry ) |
60 { |
66 { |
61 TInt ret = iNotFetched.FindInOrder( entry, CEntry::FindCB ); |
67 TInt ret = iNotFetched.FindInOrder( entry, CEntry::FindCB ); |
62 if ( ret != KErrNotFound ) |
68 if ( ret != KErrNotFound ) |
63 { |
69 { |
64 TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> error found"); |
70 TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> error found"); |
|
71 OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_LASTFETCHRESULT, "CThumbnailFetchedChecker::LastFetchResult - error found" ); |
65 delete entry; |
72 delete entry; |
66 entry = NULL; |
73 entry = NULL; |
67 return iNotFetched[ ret ]->iError; |
74 return iNotFetched[ ret ]->iError; |
68 } |
75 } |
69 } |
76 } |
79 // ----------------------------------------------------------------------------- |
86 // ----------------------------------------------------------------------------- |
80 // |
87 // |
81 void CThumbnailFetchedChecker::SetFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError ) |
88 void CThumbnailFetchedChecker::SetFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError ) |
82 { |
89 { |
83 TN_DEBUG4( "CThumbnailFetchedChecker::SetFetchResult(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError); |
90 TN_DEBUG4( "CThumbnailFetchedChecker::SetFetchResult(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError); |
|
91 OstTraceExt3( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;aUri=%S;aThumbnailSize=%u;aError=%d", aUri, aThumbnailSize, aError ); |
84 if ( aError == KErrNone ) |
92 if ( aError == KErrNone ) |
85 { |
93 { |
86 // Remove successful results from store |
94 // Remove successful results from store |
87 CEntry* entry = NULL; |
95 CEntry* entry = NULL; |
88 TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) ); |
96 TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) ); |
90 { |
98 { |
91 TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB ); |
99 TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB ); |
92 if ( i >= 0 ) |
100 if ( i >= 0 ) |
93 { |
101 { |
94 TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Remove successful results from store %d", iNotFetched.Count() ); |
102 TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Remove successful results from store %d", iNotFetched.Count() ); |
|
103 OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;iNotFetched.Count()=%d", iNotFetched.Count() ); |
95 delete iNotFetched[ i ]; |
104 delete iNotFetched[ i ]; |
96 iNotFetched[ i ] = NULL; |
105 iNotFetched[ i ] = NULL; |
97 iNotFetched.Remove( i ); |
106 iNotFetched.Remove( i ); |
98 } |
107 } |
99 } |
108 } |
104 { |
113 { |
105 |
114 |
106 // Add or update |
115 // Add or update |
107 CEntry* entry = NULL; |
116 CEntry* entry = NULL; |
108 TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) ); |
117 TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) ); |
|
118 OstTraceExt3( TRACE_NORMAL, DUP4_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;aUri=%S;aThumbnailSize=%u;aError=%d", aUri, aThumbnailSize, aError ); |
109 if ( !err && entry ) |
119 if ( !err && entry ) |
110 { |
120 { |
111 err = iNotFetched.Find( entry ); |
121 err = iNotFetched.Find( entry ); |
112 if ( err != KErrNotFound ) |
122 if ( err != KErrNotFound ) |
113 { |
123 { |
114 // update existing fetch result |
124 // update existing fetch result |
115 TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB ); |
125 TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB ); |
116 if ( i >= 0 ) |
126 if ( i >= 0 ) |
117 { |
127 { |
118 TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> Update fetched tn error" ); |
128 TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> Update fetched tn error" ); |
|
129 OstTrace0( TRACE_NORMAL, DUP2_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult - Update fetched tn error" ); |
119 iNotFetched[ i ]->iError = aError; |
130 iNotFetched[ i ]->iError = aError; |
120 } |
131 } |
121 } |
132 } |
122 else |
133 else |
123 { |
134 { |
126 // insert new fetch result |
137 // insert new fetch result |
127 TInt err = iNotFetched.InsertInOrder( entry, CEntry::InsertCB ); |
138 TInt err = iNotFetched.InsertInOrder( entry, CEntry::InsertCB ); |
128 if ( err == KErrNone ) |
139 if ( err == KErrNone ) |
129 { |
140 { |
130 TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Inserted new fetched tn error %d", iNotFetched.Count()); |
141 TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Inserted new fetched tn error %d", iNotFetched.Count()); |
|
142 OstTrace1( TRACE_NORMAL, DUP3_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;iNotFetched.Count()=%d", iNotFetched.Count() ); |
131 entry = NULL; // owned by array now |
143 entry = NULL; // owned by array now |
132 } |
144 } |
133 } |
145 } |
134 } |
146 } |
135 |
147 |
144 // ----------------------------------------------------------------------------- |
156 // ----------------------------------------------------------------------------- |
145 // |
157 // |
146 void CThumbnailFetchedChecker::DeleteFetchResult( const TDesC& aUri ) |
158 void CThumbnailFetchedChecker::DeleteFetchResult( const TDesC& aUri ) |
147 { |
159 { |
148 TN_DEBUG2( "CThumbnailFetchedChecker::DeleteFetchResult(%S)", &aUri); |
160 TN_DEBUG2( "CThumbnailFetchedChecker::DeleteFetchResult(%S)", &aUri); |
|
161 OstTraceExt1( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_DELETEFETCHRESULT, "CThumbnailFetchedChecker::DeleteFetchResult;aUri=%S", aUri ); |
149 // delete all entries of passed uri |
162 // delete all entries of passed uri |
150 TInt ret; |
163 TInt ret; |
151 do |
164 do |
152 { |
165 { |
153 ret = iNotFetched.FindInOrder( aUri, CEntry::FindCBUri ); |
166 ret = iNotFetched.FindInOrder( aUri, CEntry::FindCBUri ); |
154 if ( ret >= 0 ) |
167 if ( ret >= 0 ) |
155 { |
168 { |
156 TN_DEBUG1( "CThumbnailFetchedChecker::DeleteFetchResult() -> Deteled URI from fetched list" ); |
169 TN_DEBUG1( "CThumbnailFetchedChecker::DeleteFetchResult() -> Deteled URI from fetched list" ); |
|
170 OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_DELETEFETCHRESULT, "CThumbnailFetchedChecker::DeleteFetchResult - Deteled URI from fetched list" ); |
157 delete iNotFetched[ ret ]; |
171 delete iNotFetched[ ret ]; |
158 iNotFetched[ ret ] = NULL; |
172 iNotFetched[ ret ] = NULL; |
159 iNotFetched.Remove( ret ); |
173 iNotFetched.Remove( ret ); |
160 } |
174 } |
161 } |
175 } |
168 // ----------------------------------------------------------------------------- |
182 // ----------------------------------------------------------------------------- |
169 // |
183 // |
170 void CThumbnailFetchedChecker::RenameFetchResultL( const TDesC& aNewUri, const TDesC& aOldUri ) |
184 void CThumbnailFetchedChecker::RenameFetchResultL( const TDesC& aNewUri, const TDesC& aOldUri ) |
171 { |
185 { |
172 TN_DEBUG3( "CThumbnailFetchedChecker::RenameFetchResult(aNewUri=%S aOldUri=%S)", &aNewUri, &aOldUri); |
186 TN_DEBUG3( "CThumbnailFetchedChecker::RenameFetchResult(aNewUri=%S aOldUri=%S)", &aNewUri, &aOldUri); |
|
187 OstTraceExt2( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_RENAMEFETCHRESULTL, "CThumbnailFetchedChecker::RenameFetchResultL;aNewUri=%S;aOldUri=%S", aNewUri, aOldUri ); |
173 // change every occurence of passed uri |
188 // change every occurence of passed uri |
174 TInt ret; |
189 TInt ret; |
175 do |
190 do |
176 { |
191 { |
177 ret = iNotFetched.FindInOrder( aOldUri, CEntry::FindCBUri ); |
192 ret = iNotFetched.FindInOrder( aOldUri, CEntry::FindCBUri ); |
180 delete iNotFetched[ ret ]->iUri; |
195 delete iNotFetched[ ret ]->iUri; |
181 iNotFetched[ ret ]->iUri = NULL; |
196 iNotFetched[ ret ]->iUri = NULL; |
182 |
197 |
183 iNotFetched[ ret ]->iUri = aNewUri.AllocL(); |
198 iNotFetched[ ret ]->iUri = aNewUri.AllocL(); |
184 TN_DEBUG1( "CThumbnailFetchedChecker::RenameeFetchResult() -> Renamed URI in fetched list" ); |
199 TN_DEBUG1( "CThumbnailFetchedChecker::RenameeFetchResult() -> Renamed URI in fetched list" ); |
|
200 OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_RENAMEFETCHRESULTL, "CThumbnailFetchedChecker::RenameFetchResultL - Renamed URI in fetched list" ); |
185 } |
201 } |
186 } |
202 } |
187 while(ret != KErrNotFound ); |
203 while(ret != KErrNotFound ); |
188 |
204 |
189 } |
205 } |
193 // ----------------------------------------------------------------------------- |
209 // ----------------------------------------------------------------------------- |
194 // |
210 // |
195 void CThumbnailFetchedChecker::Reset() |
211 void CThumbnailFetchedChecker::Reset() |
196 { |
212 { |
197 TN_DEBUG1( "CThumbnailFetchedChecker::Reset()"); |
213 TN_DEBUG1( "CThumbnailFetchedChecker::Reset()"); |
|
214 OstTrace0( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_RESET, "CThumbnailFetchedChecker::Reset" ); |
198 iNotFetched.ResetAndDestroy(); |
215 iNotFetched.ResetAndDestroy(); |
199 } |
216 } |
200 |
217 |
201 // ----------------------------------------------------------------------------- |
218 // ----------------------------------------------------------------------------- |
202 // CThumbnailFetchedChecker::CEntry::NewL() |
219 // CThumbnailFetchedChecker::CEntry::NewL() |
204 // |
221 // |
205 CThumbnailFetchedChecker::CEntry* CThumbnailFetchedChecker::CEntry::NewL( |
222 CThumbnailFetchedChecker::CEntry* CThumbnailFetchedChecker::CEntry::NewL( |
206 const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError ) |
223 const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError ) |
207 { |
224 { |
208 TN_DEBUG4( "CThumbnailFetchedChecker::CEntry::NewL(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError); |
225 TN_DEBUG4( "CThumbnailFetchedChecker::CEntry::NewL(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError); |
|
226 OstTraceExt3( TRACE_NORMAL, CENTRY_NEWL, "CEntry::NewL;aUri=%S;aThumbnailSize=%u;aError=%d", aUri, aThumbnailSize, aError ); |
209 CEntry* self = new (ELeave) CEntry(); |
227 CEntry* self = new (ELeave) CEntry(); |
210 if ( self ) |
228 if ( self ) |
211 { |
229 { |
212 self->iUri = aUri.AllocL(); |
230 self->iUri = aUri.AllocL(); |
213 self->iSize = aThumbnailSize; |
231 self->iSize = aThumbnailSize; |
227 // |
245 // |
228 TInt CThumbnailFetchedChecker::CEntry::FindCB( |
246 TInt CThumbnailFetchedChecker::CEntry::FindCB( |
229 const CThumbnailFetchedChecker::CEntry& aEntry, const CThumbnailFetchedChecker::CEntry& aEntry1 ) |
247 const CThumbnailFetchedChecker::CEntry& aEntry, const CThumbnailFetchedChecker::CEntry& aEntry1 ) |
230 { |
248 { |
231 TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::FindCB"); |
249 TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::FindCB"); |
|
250 OstTrace0( TRACE_NORMAL, CENTRY_FINDCB, "CEntry::FindCB" ); |
232 if( aEntry1.iSize == aEntry.iSize) |
251 if( aEntry1.iSize == aEntry.iSize) |
233 { |
252 { |
234 // return index if size and uri matches |
253 // return index if size and uri matches |
235 return aEntry.iUri->CompareF( *( aEntry1.iUri ) ); |
254 return aEntry.iUri->CompareF( *( aEntry1.iUri ) ); |
236 } |
255 } |
246 // |
265 // |
247 TInt CThumbnailFetchedChecker::CEntry::FindCBUri( |
266 TInt CThumbnailFetchedChecker::CEntry::FindCBUri( |
248 const TDesC* aUri, const CThumbnailFetchedChecker::CEntry& aEntry ) |
267 const TDesC* aUri, const CThumbnailFetchedChecker::CEntry& aEntry ) |
249 { |
268 { |
250 TN_DEBUG2( "CThumbnailFetchedChecker::CEntry::FindCBUri(aUri=%S", &aUri); |
269 TN_DEBUG2( "CThumbnailFetchedChecker::CEntry::FindCBUri(aUri=%S", &aUri); |
|
270 OstTrace0( TRACE_NORMAL, CENTRY_FINDCBURI, "CEntry::FindCBUri" ); |
251 return aUri->CompareF( *( aEntry.iUri ) ); |
271 return aUri->CompareF( *( aEntry.iUri ) ); |
252 } |
272 } |
253 |
273 |
254 // ----------------------------------------------------------------------------- |
274 // ----------------------------------------------------------------------------- |
255 // CThumbnailFetchedChecker::CEntry::InsertCB() |
275 // CThumbnailFetchedChecker::CEntry::InsertCB() |
258 TInt CThumbnailFetchedChecker::CEntry::InsertCB( |
278 TInt CThumbnailFetchedChecker::CEntry::InsertCB( |
259 const CThumbnailFetchedChecker::CEntry& aEntry1, |
279 const CThumbnailFetchedChecker::CEntry& aEntry1, |
260 const CThumbnailFetchedChecker::CEntry& aEntry2 ) |
280 const CThumbnailFetchedChecker::CEntry& aEntry2 ) |
261 { |
281 { |
262 TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::InsertCB"); |
282 TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::InsertCB"); |
|
283 OstTrace0( TRACE_NORMAL, CENTRY_INSERTCB, "CEntry::InsertCB" ); |
263 if( aEntry1.iSize == aEntry2.iSize) |
284 if( aEntry1.iSize == aEntry2.iSize) |
264 { |
285 { |
265 // return index if size and uri matches |
286 // return index if size and uri matches |
266 return aEntry1.iUri->CompareF( *( aEntry2.iUri ) ); |
287 return aEntry1.iUri->CompareF( *( aEntry2.iUri ) ); |
267 } |
288 } |