omads/omadsextensions/adapters/contacts/src/NSmlContactsDataProvider.cpp
branchRCL_3
changeset 52 4f0867e42d62
parent 51 8e7494275d3a
child 56 3e6957da2ff8
equal deleted inserted replaced
51:8e7494275d3a 52:4f0867e42d62
    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