38 #include "searchfields.h" |
38 #include "searchfields.h" |
39 #include "contactservice.hrh" |
39 #include "contactservice.hrh" |
40 #include "contacterrormessage.hrh" |
40 #include "contacterrormessage.hrh" |
41 #include "../../inc/serviceerrno.h" |
41 #include "../../inc/serviceerrno.h" |
42 #include "contactsmaxlength.h" |
42 #include "contactsmaxlength.h" |
43 |
43 #include <centralrepository.h> |
44 using namespace LIW; |
44 using namespace LIW; |
45 |
45 |
46 #define KMissingArg -100 |
46 #define KMissingArg -100 |
47 |
47 |
48 /* |
48 /* |
68 */ |
68 */ |
69 void CContactInterface::ConstructL() |
69 void CContactInterface::ConstructL() |
70 { |
70 { |
71 iContactService = CContactService::NewL(); |
71 iContactService = CContactService::NewL(); |
72 iErrorMess = HBufC::NewL(250); |
72 iErrorMess = HBufC::NewL(250); |
|
73 iRepository = CRepository::NewL( TUid::Uid(KCRUidPhonebookStoreConfiguration) ); |
73 } |
74 } |
74 /* |
75 /* |
75 ----------------------------------------------------------------------------- |
76 ----------------------------------------------------------------------------- |
76 CContactInterface* CContactInterface::NewL() |
77 CContactInterface* CContactInterface::NewL() |
77 Description : Two-phased constructor. |
78 Description : Two-phased constructor. |
399 CLiwGenericParamList& aOutParamList) |
401 CLiwGenericParamList& aOutParamList) |
400 { |
402 { |
401 TBool xspid = EFalse; |
403 TBool xspid = EFalse; |
402 TBool xspidIsDes = EFalse; |
404 TBool xspidIsDes = EFalse; |
403 TBool atleastOneField = EFalse; |
405 TBool atleastOneField = EFalse; |
404 iDburi = HBufC::NewL(VPbkContactStoreUris::DefaultCntDbUri().Length()); |
406 //iDburi = HBufC::NewL(VPbkContactStoreUris::DefaultCntDbUri().Length()); |
405 //set the DBUri to the default value. |
407 //set the DBUri to the default value. |
406 iDburi->Des().Copy(VPbkContactStoreUris::DefaultCntDbUri()); |
408 //iDburi->Des().Copy(VPbkContactStoreUris::DefaultCntDbUri()); |
|
409 iDburi = GetDefaultDBUri().AllocLC(); |
407 //get the number of entries in the map |
410 //get the number of entries in the map |
408 TInt keyCount = aMap->Count(); |
411 TInt keyCount = aMap->Count(); |
409 |
412 |
410 for(TInt index=0;index<keyCount;index++) |
413 for(TInt index=0;index<keyCount;index++) |
411 { |
414 { |
1050 |
1053 |
1051 TPtrC8 ptrToCntId(KNullDesC8); |
1054 TPtrC8 ptrToCntId(KNullDesC8); |
1052 HBufC8* cntid = NULL; |
1055 HBufC8* cntid = NULL; |
1053 CContactIter* iter; |
1056 CContactIter* iter; |
1054 CContactIterator* iterator; |
1057 CContactIterator* iterator; |
1055 TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
1058 //TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
|
1059 TPtrC dbUri = GetDefaultDBUri(); |
1056 //Switch based on the Ttype var value |
1060 //Switch based on the Ttype var value |
1057 switch(listType) |
1061 switch(listType) |
1058 { |
1062 { |
1059 case EDatabase: |
1063 case EDatabase: |
1060 if(aVal == EGetIds) |
1064 if(aVal == EGetIds) |
1589 param->Value().Get( transactionID ); |
1593 param->Value().Get( transactionID ); |
1590 errCode = iContactService->Cancel( transactionID ); |
1594 errCode = iContactService->Cancel( transactionID ); |
1591 } |
1595 } |
1592 return errCode; |
1596 return errCode; |
1593 } |
1597 } |
1594 |
1598 |
|
1599 TPtrC CContactInterface::GetDefaultDBUri() |
|
1600 { |
|
1601 TPtrC dbUri; |
|
1602 HBufC* defaultStoreUri = HBufC::NewL(KInitialStoreUriSize); |
|
1603 TPtr ptr = defaultStoreUri->Des(); |
|
1604 TInt actualSize = 0; |
|
1605 TInt ret = iRepository->Get |
|
1606 (KPhonebookDefaultSavingStoreUri, ptr, actualSize); |
|
1607 if (ret == KErrOverflow || ret != KErrNone) |
|
1608 { |
|
1609 delete defaultStoreUri; |
|
1610 defaultStoreUri = NULL; |
|
1611 defaultStoreUri = HBufC::NewL(actualSize); |
|
1612 ptr.Set(defaultStoreUri->Des()); |
|
1613 TInt status = iRepository->Get(KPhonebookDefaultSavingStoreUri, ptr); |
|
1614 if(status == KErrNone) |
|
1615 { |
|
1616 TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
|
1617 delete defaultStoreUri; |
|
1618 defaultStoreUri = NULL; |
|
1619 return dbUri; |
|
1620 } |
|
1621 delete defaultStoreUri; |
|
1622 defaultStoreUri = NULL; |
|
1623 } |
|
1624 dbUri.Set(ptr); |
|
1625 return dbUri; |
|
1626 } |
1595 |
1627 |
1596 /* |
1628 /* |
1597 ----------------------------------------------------------------------------- |
1629 ----------------------------------------------------------------------------- |
1598 CContactInterface::AddCommandL(const CLiwGenericParamList& aInParamList, |
1630 CContactInterface::AddCommandL(const CLiwGenericParamList& aInParamList, |
1599 MLiwNotifyCallback* aCallback, |
1631 MLiwNotifyCallback* aCallback, |
1772 |
1804 |
1773 TLiwVariant valueUri; |
1805 TLiwVariant valueUri; |
1774 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
1806 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
1775 |
1807 |
1776 //set the Db Uri to default database. |
1808 //set the Db Uri to default database. |
1777 TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
1809 TPtrC dbUri = GetDefaultDBUri(); |
1778 |
|
1779 TPtrC grpIdUnicode(KNullDesC); |
1810 TPtrC grpIdUnicode(KNullDesC); |
1780 TPtrC grpLabel(KNullDesC); |
1811 TPtrC grpLabel(KNullDesC); |
1781 |
1812 |
1782 HBufC8* groupId = NULL; |
1813 HBufC8* groupId = NULL; |
1783 if( EFalse != pMap->FindL(KDBUri,valueUri)) |
1814 if( EFalse != pMap->FindL(KDBUri,valueUri)) |
2014 //if map is not null then get db name, source file from the |
2045 //if map is not null then get db name, source file from the |
2015 //contact has to be imported. |
2046 //contact has to be imported. |
2016 const CLiwMap* pMap = paramImportData->Value().AsMap(); |
2047 const CLiwMap* pMap = paramImportData->Value().AsMap(); |
2017 if(NULL != pMap) |
2048 if(NULL != pMap) |
2018 { |
2049 { |
2019 TPtrC dburi(VPbkContactStoreUris::DefaultCntDbUri()); |
2050 //TPtrC dburi(VPbkContactStoreUris::DefaultCntDbUri()); |
|
2051 TPtrC dburi = GetDefaultDBUri(); |
2020 TLiwVariant valueFname; |
2052 TLiwVariant valueFname; |
2021 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueFname) ); |
2053 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueFname) ); |
2022 |
2054 |
2023 TLiwVariant valueUri; |
2055 TLiwVariant valueUri; |
2024 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2056 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2205 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueFname) ); |
2237 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueFname) ); |
2206 |
2238 |
2207 TLiwVariant valueUri; |
2239 TLiwVariant valueUri; |
2208 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2240 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2209 |
2241 |
2210 TPtrC dburi(VPbkContactStoreUris::DefaultCntDbUri()); |
2242 //TPtrC dburi(VPbkContactStoreUris::DefaultCntDbUri()); |
|
2243 TPtrC dburi = GetDefaultDBUri(); |
2211 if( EFalse != pMap->FindL(KDBUri,valueUri)) |
2244 if( EFalse != pMap->FindL(KDBUri,valueUri)) |
2212 { |
2245 { |
2213 if(EVariantTypeDesC != valueUri.TypeId()) |
2246 if(EVariantTypeDesC != valueUri.TypeId()) |
2214 { |
2247 { |
2215 aOutParamList.AppendL(TLiwGenericParam(KErrorMessage, |
2248 aOutParamList.AppendL(TLiwGenericParam(KErrorMessage, |
2400 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2433 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2401 |
2434 |
2402 TLiwVariant valueId; |
2435 TLiwVariant valueId; |
2403 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueId) ); |
2436 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueId) ); |
2404 |
2437 |
2405 TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
2438 //TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
|
2439 TPtrC dbUri = GetDefaultDBUri(); |
2406 const CLiwList* contactIdList = NULL; |
2440 const CLiwList* contactIdList = NULL; |
2407 |
2441 |
2408 if( EFalse != pMap->FindL(KDBUri,valueUri)) |
2442 if( EFalse != pMap->FindL(KDBUri,valueUri)) |
2409 { |
2443 { |
2410 if(valueUri.AsDes().CompareF(KNullDesC)!=0) |
2444 if(valueUri.AsDes().CompareF(KNullDesC)!=0) |
2594 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueList) ); |
2628 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueList) ); |
2595 |
2629 |
2596 TLiwVariant valueUri; |
2630 TLiwVariant valueUri; |
2597 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2631 CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &valueUri) ); |
2598 |
2632 |
2599 TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
2633 //TPtrC dbUri(VPbkContactStoreUris::DefaultCntDbUri()); |
|
2634 TPtrC dbUri = GetDefaultDBUri(); |
2600 TBool associateType = EFalse; |
2635 TBool associateType = EFalse; |
2601 HBufC8* groupId = NULL; |
2636 HBufC8* groupId = NULL; |
2602 |
2637 |
2603 if(EVariantTypeDesC != paramOperationType->Value().TypeId() ) |
2638 if(EVariantTypeDesC != paramOperationType->Value().TypeId() ) |
2604 { |
2639 { |