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