165 TFileName dllFileName; |
166 TFileName dllFileName; |
166 Dll::FileName( dllFileName ); |
167 Dll::FileName( dllFileName ); |
167 |
168 |
168 TFileName resourceFileName; |
169 TFileName resourceFileName; |
169 resourceFileName.Copy( TParsePtrC( dllFileName ).Drive() ); |
170 resourceFileName.Copy( TParsePtrC( dllFileName ).Drive() ); |
170 // Check correct Data Sync protocol |
171 |
|
172 parse.Set( GetStoreFormatResourceFileL(), &KDC_RESOURCE_FILES_DIR, NULL ); |
|
173 |
|
174 fileName = parse.FullName(); |
|
175 |
|
176 RResourceFile resourceFile; |
|
177 BaflUtils::NearestLanguageFile( iRfs, fileName ); |
|
178 |
|
179 resourceFile.OpenL( iRfs,fileName ); |
|
180 CleanupClosePushL( resourceFile ); |
|
181 |
|
182 HBufC8* contactsDataFormat = resourceFile.AllocReadLC( NSML_CONTACTS_DATA_STORE_FORMAT ); |
|
183 |
|
184 TResourceReader reader; |
|
185 reader.SetBuffer( contactsDataFormat ); |
|
186 |
|
187 iStoreFormat = CSmlDataStoreFormat::NewLC( iStringPool, reader ); |
|
188 CleanupStack::Pop(); // iStoreFormat |
|
189 |
|
190 CleanupStack::PopAndDestroy( 2 ); // contactsDataFormat,resourceFile |
|
191 |
|
192 _DBG_FILE("CNSmlContactsDataProvider::DoStoreFormatL(): end"); |
|
193 |
|
194 return *iStoreFormat; |
|
195 } |
|
196 |
|
197 // ----------------------------------------------------------------------------- |
|
198 // CNSmlContactsDataProvider::DoListStoresLC |
|
199 // ----------------------------------------------------------------------------- |
|
200 // |
|
201 EXPORT_C CDesCArray* CNSmlContactsDataProvider::DoListStoresLC() |
|
202 { |
|
203 _DBG_FILE("CNSmlContactsDataProvider::DoListStoresLC(): begin"); |
|
204 _DBG_FILE("CNSmlContactsDataProvider::DoListStoresLC(): end"); |
|
205 |
|
206 return iContactsDataStore->DoListStoresLC(); |
|
207 } |
|
208 |
|
209 // ----------------------------------------------------------------------------- |
|
210 // CNSmlContactsDataProvider::DoDefaultStoreL |
|
211 // ----------------------------------------------------------------------------- |
|
212 // |
|
213 EXPORT_C const TDesC& CNSmlContactsDataProvider::DoDefaultStoreL() |
|
214 { |
|
215 _DBG_FILE("CNSmlContactsDataProvider::DoIdentifier(): begin"); |
|
216 _DBG_FILE("CNSmlContactsDataProvider::DoIdentifier(): end"); |
|
217 |
|
218 return iContactsDataStore->DefaultStoreNameL(); |
|
219 } |
|
220 |
|
221 // ----------------------------------------------------------------------------- |
|
222 // CNSmlContactsDataProvider::DoNewStoreInstanceLC |
|
223 // ----------------------------------------------------------------------------- |
|
224 // |
|
225 EXPORT_C CSmlDataStore* CNSmlContactsDataProvider::DoNewStoreInstanceLC() |
|
226 { |
|
227 _DBG_FILE("CNSmlContactsDataProvider::DoNewStoreInstanceLC(): begin"); |
|
228 |
|
229 CNSmlContactsDataStore* newDataStore = CreateDataStoreLC(); |
|
230 |
|
231 _DBG_FILE("CNSmlContactsDataProvider::DoNewStoreInstanceLC(): end"); |
|
232 |
|
233 return newDataStore; |
|
234 } |
|
235 |
|
236 // ------------------------------------------------------------------------------------------------ |
|
237 // CNSmlContactsDataProvider::DoSupportedServerFiltersL |
|
238 // |
|
239 // ------------------------------------------------------------------------------------------------ |
|
240 EXPORT_C const RPointerArray<CSyncMLFilter>& CNSmlContactsDataProvider::DoSupportedServerFiltersL() |
|
241 { |
|
242 // This method returns empty array. It means that this Data Provider does not support filtering |
|
243 _DBG_FILE("CNSmlContactsDataProvider::DoSupportedServerFiltersL(): BEGIN"); |
|
244 _DBG_FILE("CNSmlContactsDataProvider::DoSupportedServerFiltersL(): END"); |
|
245 return iFilterArray; |
|
246 } |
|
247 |
|
248 // ------------------------------------------------------------------------------------------------ |
|
249 // CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL |
|
250 // |
|
251 // ------------------------------------------------------------------------------------------------ |
|
252 EXPORT_C void CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL( const CSmlDataStoreFormat& /*aServerDataStoreFormat*/, RPointerArray<CSyncMLFilter>& /*aFilters*/, TSyncMLFilterChangeInfo& /*aChangeInfo*/ ) |
|
253 { |
|
254 _DBG_FILE("CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL(): BEGIN"); |
|
255 User::Leave( KErrNotSupported ); |
|
256 _DBG_FILE("CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL(): END"); |
|
257 } |
|
258 |
|
259 // ------------------------------------------------------------------------------------------------ |
|
260 // CNSmlContactsDataProvider::CheckServerFiltersL |
|
261 // |
|
262 // ------------------------------------------------------------------------------------------------ |
|
263 EXPORT_C void CNSmlContactsDataProvider::DoCheckServerFiltersL( RPointerArray<CSyncMLFilter>& /*aFilters*/, TSyncMLFilterChangeInfo& /*aChangeInfo*/ ) |
|
264 { |
|
265 _DBG_FILE("CNSmlContactsDataProvider::DoCheckServerFiltersL(): BEGIN"); |
|
266 User::Leave( KErrNotSupported ); |
|
267 _DBG_FILE("CNSmlContactsDataProvider::DoCheckServerFiltersL(): END"); |
|
268 } |
|
269 |
|
270 // ------------------------------------------------------------------------------------------------ |
|
271 // CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC |
|
272 // |
|
273 // ------------------------------------------------------------------------------------------------ |
|
274 EXPORT_C HBufC* CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC( const RPointerArray<CSyncMLFilter>& /*aFilters*/, TSyncMLFilterMatchType /*aMatch*/, TDes& /*aFilterMimeType*/, TSyncMLFilterType& /*aFilterType*/, TDesC& /*aStoreName*/ ) |
|
275 { |
|
276 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC(): BEGIN"); |
|
277 User::Leave( KErrNotSupported ); |
|
278 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC(): END"); |
|
279 return NULL; |
|
280 } |
|
281 |
|
282 // ------------------------------------------------------------------------------------------------ |
|
283 // CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL |
|
284 // |
|
285 // ------------------------------------------------------------------------------------------------ |
|
286 EXPORT_C void CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL( const RPointerArray<CSyncMLFilter>& /*aFilters*/, TDes& /*aFilterMimeType*/, RPointerArray<CSmlDataProperty>& /*aProperties*/, TDesC& /*aStoreName*/ ) |
|
287 { |
|
288 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL(): BEGIN"); |
|
289 User::Leave( KErrNotSupported ); |
|
290 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL(): END"); |
|
291 } |
|
292 |
|
293 // ------------------------------------------------------------------------------------------------ |
|
294 // CNSmlContactsDataProvider::GetStoreFormatResourceFileL |
|
295 // |
|
296 // ------------------------------------------------------------------------------------------------ |
|
297 EXPORT_C const TDesC& CNSmlContactsDataProvider::GetStoreFormatResourceFileL() const |
|
298 { |
|
299 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL(): BEGIN"); |
|
300 |
|
301 // Check correct Data Sync protocol |
171 TInt value( EDataSyncNotRunning ); |
302 TInt value( EDataSyncNotRunning ); |
172 TInt error = RProperty::Get( KPSUidDataSynchronizationInternalKeys, |
303 TInt error = RProperty::Get( KPSUidDataSynchronizationInternalKeys, |
173 KDataSyncStatus, |
304 KDataSyncStatus, |
174 value ); |
305 value ); |
175 if ( error == KErrNone && |
306 if ( error == KErrNone && |
176 value == EDataSyncRunning ) |
307 value == EDataSyncRunning ) |
177 { |
308 { |
178 resourceFileName.Append(KNSmlContactsStoreFormatRsc_1_1_2); |
309 return KNSmlContactsStoreFormatRsc_1_1_2; |
179 parse.Set( resourceFileName, &KDC_RESOURCE_FILES_DIR, NULL ); |
|
180 } |
310 } |
181 else // error or protocol version 1.2 |
311 else // error or protocol version 1.2 |
182 { |
312 { |
183 resourceFileName.Append(KNSmlContactsStoreFormatRsc_1_2); |
313 return KNSmlContactsStoreFormatRsc_1_2; |
184 parse.Set( resourceFileName, &KDC_RESOURCE_FILES_DIR, NULL ); |
314 } |
185 } |
315 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL(): END"); |
186 |
316 } |
187 fileName = parse.FullName(); |
317 |
188 |
318 // ------------------------------------------------------------------------------------------------ |
189 RResourceFile resourceFile; |
319 // CNSmlContactsDataProvider::CreateDataStoreLC |
190 BaflUtils::NearestLanguageFile( iRfs, fileName ); |
320 // |
191 |
321 // ------------------------------------------------------------------------------------------------ |
192 resourceFile.OpenL( iRfs,fileName ); |
322 EXPORT_C CNSmlContactsDataStore* CNSmlContactsDataProvider::CreateDataStoreLC() const |
193 CleanupClosePushL( resourceFile ); |
323 { |
194 |
324 _DBG_FILE("CNSmlContactsDataProvider::CreateDataStoreLC(): BEGIN"); |
195 HBufC8* contactsDataFormat = resourceFile.AllocReadLC( NSML_CONTACTS_DATA_STORE_FORMAT ); |
325 CNSmlContactsDataStore* dataStore = CNSmlContactsDataStore::NewL(); |
196 |
326 CleanupStack::PushL( dataStore ); |
197 TResourceReader reader; |
327 _DBG_FILE("CNSmlContactsDataProvider::CreateDataStoreLC(): END"); |
198 reader.SetBuffer( contactsDataFormat ); |
328 return dataStore; |
199 |
329 } |
200 iStoreFormat = CSmlDataStoreFormat::NewLC( iStringPool, reader ); |
|
201 CleanupStack::Pop(); // iStoreFormat |
|
202 |
|
203 CleanupStack::PopAndDestroy( 2 ); // contactsDataFormat,resourceFile |
|
204 |
|
205 _DBG_FILE("CNSmlContactsDataProvider::DoStoreFormatL(): end"); |
|
206 |
|
207 return *iStoreFormat; |
|
208 } |
|
209 |
|
210 // ----------------------------------------------------------------------------- |
|
211 // CNSmlContactsDataProvider::DoListStoresLC |
|
212 // ----------------------------------------------------------------------------- |
|
213 // |
|
214 CDesCArray* CNSmlContactsDataProvider::DoListStoresLC() |
|
215 { |
|
216 _DBG_FILE("CNSmlContactsDataProvider::DoListStoresLC(): begin"); |
|
217 _DBG_FILE("CNSmlContactsDataProvider::DoListStoresLC(): end"); |
|
218 |
|
219 return iContactsDataStore->DoListStoresLC(); |
|
220 } |
|
221 |
|
222 // ----------------------------------------------------------------------------- |
|
223 // CNSmlContactsDataProvider::DoDefaultStoreL |
|
224 // ----------------------------------------------------------------------------- |
|
225 // |
|
226 const TDesC& CNSmlContactsDataProvider::DoDefaultStoreL() |
|
227 { |
|
228 _DBG_FILE("CNSmlContactsDataProvider::DoIdentifier(): begin"); |
|
229 _DBG_FILE("CNSmlContactsDataProvider::DoIdentifier(): end"); |
|
230 |
|
231 return iContactsDataStore->DefaultStoreNameL(); |
|
232 } |
|
233 |
|
234 // ----------------------------------------------------------------------------- |
|
235 // CNSmlContactsDataProvider::DoNewStoreInstanceLC |
|
236 // ----------------------------------------------------------------------------- |
|
237 // |
|
238 CSmlDataStore* CNSmlContactsDataProvider::DoNewStoreInstanceLC() |
|
239 { |
|
240 _DBG_FILE("CNSmlContactsDataProvider::DoNewStoreInstanceLC(): begin"); |
|
241 |
|
242 CNSmlContactsDataStore* newDataStore = CNSmlContactsDataStore::NewL(); |
|
243 CleanupStack::PushL( newDataStore ); |
|
244 |
|
245 _DBG_FILE("CNSmlContactsDataProvider::DoNewStoreInstanceLC(): end"); |
|
246 |
|
247 return newDataStore; |
|
248 } |
|
249 |
|
250 // ------------------------------------------------------------------------------------------------ |
|
251 // CNSmlContactsDataProvider::DoSupportedServerFiltersL |
|
252 // |
|
253 // ------------------------------------------------------------------------------------------------ |
|
254 const RPointerArray<CSyncMLFilter>& CNSmlContactsDataProvider::DoSupportedServerFiltersL() |
|
255 { |
|
256 // This method returns empty array. It means that this Data Provider does not support filtering |
|
257 _DBG_FILE("CNSmlContactsDataProvider::DoSupportedServerFiltersL(): BEGIN"); |
|
258 _DBG_FILE("CNSmlContactsDataProvider::DoSupportedServerFiltersL(): END"); |
|
259 return iFilterArray; |
|
260 } |
|
261 |
|
262 // ------------------------------------------------------------------------------------------------ |
|
263 // CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL |
|
264 // |
|
265 // ------------------------------------------------------------------------------------------------ |
|
266 void CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL( const CSmlDataStoreFormat& /*aServerDataStoreFormat*/, RPointerArray<CSyncMLFilter>& /*aFilters*/, TSyncMLFilterChangeInfo& /*aChangeInfo*/ ) |
|
267 { |
|
268 _DBG_FILE("CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL(): BEGIN"); |
|
269 User::Leave( KErrNotSupported ); |
|
270 _DBG_FILE("CNSmlContactsDataProvider::DoCheckSupportedServerFiltersL(): END"); |
|
271 } |
|
272 |
|
273 // ------------------------------------------------------------------------------------------------ |
|
274 // CNSmlContactsDataProvider::CheckServerFiltersL |
|
275 // |
|
276 // ------------------------------------------------------------------------------------------------ |
|
277 void CNSmlContactsDataProvider::DoCheckServerFiltersL( RPointerArray<CSyncMLFilter>& /*aFilters*/, TSyncMLFilterChangeInfo& /*aChangeInfo*/ ) |
|
278 { |
|
279 _DBG_FILE("CNSmlContactsDataProvider::DoCheckServerFiltersL(): BEGIN"); |
|
280 User::Leave( KErrNotSupported ); |
|
281 _DBG_FILE("CNSmlContactsDataProvider::DoCheckServerFiltersL(): END"); |
|
282 } |
|
283 |
|
284 // ------------------------------------------------------------------------------------------------ |
|
285 // CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC |
|
286 // |
|
287 // ------------------------------------------------------------------------------------------------ |
|
288 HBufC* CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC( const RPointerArray<CSyncMLFilter>& /*aFilters*/, TSyncMLFilterMatchType /*aMatch*/, TDes& /*aFilterMimeType*/, TSyncMLFilterType& /*aFilterType*/, TDesC& /*aStoreName*/ ) |
|
289 { |
|
290 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC(): BEGIN"); |
|
291 User::Leave( KErrNotSupported ); |
|
292 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateRecordFilterQueryLC(): END"); |
|
293 return NULL; |
|
294 } |
|
295 |
|
296 // ------------------------------------------------------------------------------------------------ |
|
297 // CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL |
|
298 // |
|
299 // ------------------------------------------------------------------------------------------------ |
|
300 void CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL( const RPointerArray<CSyncMLFilter>& /*aFilters*/, TDes& /*aFilterMimeType*/, RPointerArray<CSmlDataProperty>& /*aProperties*/, TDesC& /*aStoreName*/ ) |
|
301 { |
|
302 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL(): BEGIN"); |
|
303 User::Leave( KErrNotSupported ); |
|
304 _DBG_FILE("CNSmlContactsDataProvider::DoGenerateFieldFilterQueryL(): END"); |
|
305 } |
|
306 |
330 |
307 // ----------------------------------------------------------------------------- |
331 // ----------------------------------------------------------------------------- |
308 // ImplementationGroupProxy array |
332 // ImplementationGroupProxy array |
309 // ----------------------------------------------------------------------------- |
333 // ----------------------------------------------------------------------------- |
310 // |
334 // |