13 * |
13 * |
14 * Description: DS contacts dataprovider |
14 * Description: DS contacts dataprovider |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 |
|
19 // INCLUDE FILES |
18 // INCLUDE FILES |
20 #include <utf.h> |
19 #include <utf.h> |
21 #include <e32base.h> |
20 #include <e32base.h> |
22 #include <s32strm.h> |
21 #include <s32strm.h> |
23 #include <cntdb.h> |
|
24 #include <e32cmn.h> |
22 #include <e32cmn.h> |
25 #include <cntitem.h> |
|
26 #include <sysutil.h> |
23 #include <sysutil.h> |
27 #include <barsc.h> |
24 #include <barsc.h> |
28 #include <bautils.h> |
25 #include <bautils.h> |
29 #include <SmlDataProvider.h> |
26 #include <SmlDataProvider.h> |
30 #include <implementationproxy.h> |
|
31 #include <NSmlContactsDataStoreFormat_1_1_2.rsg> |
27 #include <NSmlContactsDataStoreFormat_1_1_2.rsg> |
32 #include <NSmlContactsDataStoreFormat_1_2.rsg> |
28 #include <NSmlContactsDataStoreFormat_1_2.rsg> |
33 #include <data_caging_path_literals.hrh> |
29 #include <data_caging_path_literals.hrh> |
34 #include <vtoken.h> |
30 #include <vtoken.h> |
35 #include <e32property.h> |
31 #include <e32property.h> |
36 #include <DataSyncInternalPSKeys.h> |
32 #include <DataSyncInternalPSKeys.h> |
37 #include <NSmlContactsDataProvider.h> |
33 #include <implementationproxy.h> |
|
34 #include <NSmlDataModBase.h> |
|
35 #include <nsmlcontactsdataprovider.h> |
38 #include "nsmldebug.h" |
36 #include "nsmldebug.h" |
39 #include "nsmlconstants.h" |
37 #include "nsmlconstants.h" |
40 #include <NSmlDataModBase.h> |
|
41 #include "nsmldsimpluids.h" |
38 #include "nsmldsimpluids.h" |
42 #include "nsmlchangefinder.h" |
39 #include "nsmlchangefinder.h" |
|
40 |
|
41 #ifndef __WINS__ |
|
42 // This lowers the unnecessary compiler warning (armv5) to remark. |
|
43 // "Warning: #174-D: expression has no effect..." is caused by |
|
44 // DBG_ARGS8 macro in no-debug builds. |
|
45 #pragma diag_remark 174 |
|
46 #endif |
43 |
47 |
44 // ============================ MEMBER FUNCTIONS =============================== |
48 // ============================ MEMBER FUNCTIONS =============================== |
45 |
49 |
46 // ----------------------------------------------------------------------------- |
50 // ----------------------------------------------------------------------------- |
47 // CNSmlContactsDataProvider::NewL |
51 // CNSmlContactsDataProvider::NewL |
89 { |
93 { |
90 _DBG_FILE("CNSmlContactsDataProvider::ConstructL(): begin"); |
94 _DBG_FILE("CNSmlContactsDataProvider::ConstructL(): begin"); |
91 |
95 |
92 User::LeaveIfError( iRfs.Connect() ); |
96 User::LeaveIfError( iRfs.Connect() ); |
93 |
97 |
94 iContactsDataStore = CreateDataStoreLC(); |
98 iContactsDataStore = CreateDataStoreLC(); |
95 CleanupStack::Pop( iContactsDataStore ); |
99 CleanupStack::Pop( iContactsDataStore ); |
96 |
|
97 iStringPool.OpenL(); |
100 iStringPool.OpenL(); |
98 |
101 |
99 _DBG_FILE("CNSmlContactsDataProvider::ConstructL(): end"); |
102 _DBG_FILE("CNSmlContactsDataProvider::ConstructL(): end"); |
100 } |
103 } |
101 |
104 |
166 TFileName dllFileName; |
169 TFileName dllFileName; |
167 Dll::FileName( dllFileName ); |
170 Dll::FileName( dllFileName ); |
168 |
171 |
169 TFileName resourceFileName; |
172 TFileName resourceFileName; |
170 resourceFileName.Copy( TParsePtrC( dllFileName ).Drive() ); |
173 resourceFileName.Copy( TParsePtrC( dllFileName ).Drive() ); |
171 |
174 |
172 parse.Set( GetStoreFormatResourceFileL(), &KDC_RESOURCE_FILES_DIR, NULL ); |
175 resourceFileName.Append( GetStoreFormatResourceFileL() ); |
|
176 |
|
177 parse.Set( resourceFileName, &KDC_RESOURCE_FILES_DIR, NULL ); |
173 |
178 |
174 fileName = parse.FullName(); |
179 fileName = parse.FullName(); |
|
180 |
|
181 DBG_ARGS(_S("CNSmlContactsDataProvider::SetOwnStoreFormatL(): '%S'"), &parse.FullName()); |
175 |
182 |
176 RResourceFile resourceFile; |
183 RResourceFile resourceFile; |
177 BaflUtils::NearestLanguageFile( iRfs, fileName ); |
184 BaflUtils::NearestLanguageFile( iRfs, fileName ); |
178 |
185 |
179 resourceFile.OpenL( iRfs,fileName ); |
186 resourceFile.OpenL( iRfs,fileName ); |
293 // ------------------------------------------------------------------------------------------------ |
300 // ------------------------------------------------------------------------------------------------ |
294 // CNSmlContactsDataProvider::GetStoreFormatResourceFileL |
301 // CNSmlContactsDataProvider::GetStoreFormatResourceFileL |
295 // |
302 // |
296 // ------------------------------------------------------------------------------------------------ |
303 // ------------------------------------------------------------------------------------------------ |
297 EXPORT_C const TDesC& CNSmlContactsDataProvider::GetStoreFormatResourceFileL() const |
304 EXPORT_C const TDesC& CNSmlContactsDataProvider::GetStoreFormatResourceFileL() const |
298 { |
305 { |
299 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL(): BEGIN"); |
306 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL(): BEGIN"); |
300 |
307 |
301 // Check correct Data Sync protocol |
308 // Check correct Data Sync protocol |
302 TInt value( EDataSyncNotRunning ); |
309 TInt value( EDataSyncNotRunning ); |
303 TInt error = RProperty::Get( KPSUidDataSynchronizationInternalKeys, |
310 TInt error = RProperty::Get( KPSUidDataSynchronizationInternalKeys, |
304 KDataSyncStatus, |
311 KDataSyncStatus, |
305 value ); |
312 value ); |
306 if ( error == KErrNone && |
313 if ( error == KErrNone && value == EDataSyncRunning ) |
307 value == EDataSyncRunning ) |
314 { |
308 { |
315 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL() 1.1.2 : END"); |
309 return KNSmlContactsStoreFormatRsc_1_1_2; |
316 return KNSmlContactsStoreFormatRsc_1_1_2; |
310 } |
317 } |
311 else // error or protocol version 1.2 |
318 else // error or protocol version 1.2 |
312 { |
319 { |
313 return KNSmlContactsStoreFormatRsc_1_2; |
320 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL() 1.2 : END"); |
314 } |
321 return KNSmlContactsStoreFormatRsc_1_2; |
315 _DBG_FILE("CNSmlContactsDataProvider::GetStoreFormatResourceFileL(): END"); |
322 } |
316 } |
323 } |
317 |
324 |
318 // ------------------------------------------------------------------------------------------------ |
325 // ------------------------------------------------------------------------------------------------ |
319 // CNSmlContactsDataProvider::CreateDataStoreLC |
326 // CNSmlContactsDataProvider::CreateDataStoreLC |
320 // |
327 // |
350 _DBG_FILE("ImplementationGroupProxy() for CNSmlContactsDataProvider: begin"); |
357 _DBG_FILE("ImplementationGroupProxy() for CNSmlContactsDataProvider: begin"); |
351 aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy ); |
358 aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy ); |
352 _DBG_FILE("ImplementationGroupProxy() for CNSmlContactsDataProvider: end"); |
359 _DBG_FILE("ImplementationGroupProxy() for CNSmlContactsDataProvider: end"); |
353 return ImplementationTable; |
360 return ImplementationTable; |
354 } |
361 } |
355 |
|
356 // End of File |
362 // End of File |