serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest_sync/src/tcompluginblocks.cpp
changeset 22 fc9cf246af83
parent 19 989d2f495d90
child 33 50974a8b132e
--- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest_sync/src/tcompluginblocks.cpp	Fri Jul 03 15:51:24 2009 +0100
+++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest_sync/src/tcompluginblocks.cpp	Thu Aug 27 07:43:07 2009 +0300
@@ -188,6 +188,8 @@
 _LIT8(KSyncClass, "SyncClass");
 _LIT8(KLOCPrivacy, "LOCPrivacy");
 _LIT8(KGenLabel, "GenLabel");
+_LIT8(KXSPID, "IMPP");
+
 //----------------------------------------------------------------------------
 // CTestProvider :: Delete()
 //----------------------------------------------------------------------------
@@ -233,6 +235,11 @@
        	//ENTRY("ModifyGroup" , CTestProvider:: ModifyGroup),
        	ENTRY("ExportVCard" , CTestProvider :: ExportVCard),
        	ENTRY("ImportVCard" , CTestProvider :: ImportVCard),
+       	ENTRY("GetListNewFieldsTestSync" , CTestProvider :: GetListNewFieldsTestSync),
+       	ENTRY("AddContactNewFieldsSynTest" , CTestProvider :: AddContactNewFieldsSynTest),
+       	ENTRY("AddGroupSynTest" , CTestProvider :: AddGroupSynTest),
+       	
+       	
 
         };
 
@@ -1470,3 +1477,410 @@
 
     //__UHEAP_MARKEND;
     }
+ 
+ 
+
+ TInt CTestProvider :: AddOneContactNewFieldsL()
+     {                                     
+     CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();    
+         
+        TInt pos = 0;             
+        pMap->InsertL(KContactId, TLiwVariant( _L("")));
+           CLiwDefaultMap* fieldMap = CLiwDefaultMap::NewL();    
+           fieldMap->InsertL(KFieldLabel,TLiwVariant(_L("firstname")));
+               
+           fieldMap->InsertL(KFieldValue,TLiwVariant(_L("Barbie")));
+           
+           pMap->InsertL(KFirstName, TLiwVariant(fieldMap));
+
+           CLiwDefaultMap* fieldPrefixMap = CLiwDefaultMap::NewL();    
+           fieldPrefixMap->InsertL(KFieldLabel,TLiwVariant(_L("Prefix")));
+                   
+           fieldPrefixMap->InsertL(KFieldValue,TLiwVariant(_L("Princess")));
+           
+           pMap->InsertL(KPrefix, TLiwVariant(fieldPrefixMap));
+           
+           CLiwDefaultMap* fieldNoteMap = CLiwDefaultMap::NewL();    
+           
+           fieldNoteMap->InsertL(KFieldLabel,TLiwVariant(_L("Note")));
+                       
+           fieldNoteMap->InsertL(KFieldValue,TLiwVariant(_L("Lead role in Barbie, the island princess")));
+           
+           pMap->InsertL(KNote, TLiwVariant(fieldNoteMap));
+
+CLiwDefaultMap* anniMap = CLiwDefaultMap::NewL();    
+    anniMap->InsertL(KFieldLabel,TLiwVariant(_L("Anniversary")));
+    anniMap->InsertL(KFieldValue,TLiwVariant(TTime(TDateTime(2007,EOctober,25,0,0,0,0))));
+    pMap->InsertL(KAnniversary, TLiwVariant(anniMap));
+    
+    
+    CLiwDefaultMap* dateMap = CLiwDefaultMap::NewL();    
+    dateMap->InsertL(KFieldLabel,TLiwVariant(_L("Date")));
+    dateMap->InsertL(KFieldValue,TLiwVariant(TTime(TDateTime(2007,EOctober,25,0,0,0,0))));
+       pMap->InsertL(KDate, TLiwVariant(dateMap));
+               
+ 
+                                       
+           CLiwDefaultMap* fieldSecNameMap = CLiwDefaultMap::NewL();    
+           fieldSecNameMap->InsertL(KFieldLabel,TLiwVariant(_L("SecondName")));
+               
+           fieldSecNameMap->InsertL(KFieldValue,TLiwVariant(_L("Doll")));
+           
+           pMap->InsertL(KSecondName, TLiwVariant(fieldSecNameMap));
+               
+           CLiwDefaultMap* fieldPhotoMap = CLiwDefaultMap::NewL();    
+           fieldPhotoMap->InsertL(KFieldLabel,TLiwVariant(_L("CallerObjImg")));
+                   
+           fieldPhotoMap->InsertL(KFieldValue,TLiwVariant(_L("C:\\data\\images\\pic.jpg")));
+           
+           pMap->InsertL(KCallerObjImg, TLiwVariant(fieldPhotoMap));
+               
+           CLiwDefaultMap* fieldXspidMap = CLiwDefaultMap::NewL();    
+           CLiwList* list = CLiwDefaultList::NewL();
+           list->AppendL(TLiwVariant(_L("Yahoo:barbie@yahoo.co.in")));
+           list->AppendL(TLiwVariant(_L("Google:barbie@gmail.com")));
+           fieldXspidMap->InsertL(KFieldLabel,TLiwVariant(_L("IMPP")));
+               
+           fieldXspidMap->InsertL(KFieldValue,TLiwVariant(list));
+           
+           pMap->InsertL(KXSPID, TLiwVariant(fieldXspidMap));
+           
+     const TLiwGenericParam paramContentType(KType, TLiwVariant( _L("Contact"))); 
+     const TLiwGenericParam paramAddData(KData, TLiwVariant(pMap)); ;
+         
+     inList ->AppendL( paramContentType );
+     inList ->AppendL( paramAddData );    
+      
+     iIface->ExecuteCmdL(KCmdAdd, *inList, *outList, 0, NULL);
+         
+     const TLiwGenericParam* param = outList->FindFirst( pos, KExitCode );
+     TLiwVariant err = param->Value();
+     TInt code = err.AsTInt32();
+            
+            
+     pMap->DecRef();
+     fieldMap->DecRef();
+     fieldMap->DecRef();
+     
+     inList->Reset();
+     outList->Reset(); 
+     if(code == SErrNone)
+             {
+             return KErrNone;  
+             }            
+     return KErrGeneral;
+     }
+
+     
+ TInt CTestProvider :: GetListNewFieldsTestSync(CStifItemParser& /*aItem */)
+     {    
+     LoadService();
+     TInt addRes = AddOneContactNewFieldsL();
+     if(addRes != KErrNone)
+         {
+         return KErrGeneral;
+         }
+     
+     _LIT8(KFilter, "Filter");
+     _LIT8(KSearchVal, "SearchVal");
+     TInt iResult = KErrNone;   
+     TInt pos = 0;
+         
+     //const TLiwGenericParam paramGetListSortOrder;
+     
+     const TLiwGenericParam paramContentType(KType, TLiwVariant( _L("Contact")));    
+     inList ->AppendL( paramContentType );
+     
+     CLiwDefaultMap* map =  CLiwDefaultMap :: NewL();    
+     CleanupStack::PushL(map);
+     map->InsertL(KSearchVal,_L("Barbie"));
+     
+     const TLiwGenericParam paramData(KFilter, TLiwVariant(map));    
+     inList ->AppendL( paramData );
+     
+     iIface->ExecuteCmdL(KCmdGetList, *inList, *outList, 0, NULL);
+         
+     const TLiwGenericParam* param = outList->FindFirst( pos, KExitCode );
+     TLiwVariant err = param->Value();
+     TInt code = err.AsTInt32();
+         
+     if(code == SErrNone)
+         {
+         TInt pos = 0;
+                  TBuf<255> firstName;
+                  TBuf<255> secName;
+                  TBuf<255> callerObjImg;
+                  TBuf<255> Note;
+                  TLiwVariant cntId;
+                  TLiwVariant mapfield;
+                  TLiwVariant firstname;
+                  TLiwVariant secname;
+                  TLiwVariant callerobjimg;
+                  TLiwVariant xspidarr;
+                  TLiwVariant note;
+                  TLiwVariant entry;
+                  const CLiwMap* map = NULL;
+                  const CLiwMap* mapField = NULL;
+                  const CLiwList* xspid = NULL;
+                  
+                  param = outList->FindFirst(pos, KReturnValue);
+                  TLiwVariant iterator = param->Value();
+                  CLiwIterable* iter = iterator.AsIterable();
+                      if(iter->NextL(entry))
+                          {
+                          map = entry.AsMap();
+                          TInt count1 = map->Count();       
+                          map->FindL(KContactId, cntId);                   
+                          TPtrC8 ptr = cntId.AsData();                 
+                          if(map->FindL(KFirstName,mapfield))
+                          mapField = mapfield.AsMap();
+                          
+                          TInt count = mapField->Count();
+                          firstname.Reset();
+                          mapField->FindL(KFieldValue,firstname);
+                          firstName = firstname.AsDes();
+                          if(firstName.CompareF(_L("Barbie")) != 0)       
+                              {
+                              iResult = KErrGeneral;
+                              }    
+                          
+                          if(map->FindL(KSecondName,mapfield))
+                          mapField = mapfield.AsMap();                
+                          count = mapField->Count();
+                          mapField->FindL(KFieldValue,secname);
+                          secName = secname.AsDes();
+                          if(secName.CompareF(_L("Doll")) != 0)       
+                              {
+                              iResult = KErrGeneral;
+                              }    
+                          
+                          if(map->FindL(KCallerObjImg,mapfield))
+                            mapField = mapfield.AsMap();                
+                            count = mapField->Count();
+                            mapField->FindL(KFieldValue,callerobjimg);
+                            callerObjImg = callerobjimg.AsDes();
+                            if(callerObjImg.CompareF(_L("C:\\data\\images\\pic.jpg")) != 0)       
+                                {
+                                iResult = KErrGeneral;
+                                }
+                            if(map->FindL(KNote,mapfield))
+                            mapField = mapfield.AsMap();                
+                            count = mapField->Count();
+                            mapField->FindL(KFieldValue,note);
+                            Note = note.AsDes();
+                            if(Note.CompareF(_L("Lead role in Barbie, the island princess")) != 0)       
+                                {
+                                iResult = KErrGeneral;
+                                }
+                    
+                            if(map->FindL(KXSPID,mapfield))
+                                mapField = mapfield.AsMap();                
+                            //count = mapField->Count();
+                            mapField->FindL(KFieldValue,xspidarr);
+                            xspid = xspidarr.AsList();
+                            TInt xspidcount = xspid->Count();
+                            for(TInt index =0;index < xspidcount; index++)
+                                {
+                                TLiwVariant xspidVal;
+                                if(xspid->AtL(index,xspidVal))
+                                {
+                                TPtrC ptrVal = xspidVal.AsDes();
+                                if(ptrVal.CompareF(_L("Yahoo:Barbie@yahoo.co.in")) != 0 && ptrVal.CompareF(_L("Google:Barbie@gmail.com")) != 0)
+                                {
+                                    iResult = KErrGeneral;
+                                    break;
+                                }
+                                }
+                            }
+                      
+                  }
+         }
+     
+     CleanupStack::Pop(map);
+     map->DecRef(); 
+     inList->Reset();
+     outList->Reset();   
+     return iResult;                   
+     }
+ 
+ 
+ 
+
+ TInt CTestProvider :: AddContactNewFieldsSynTest(CStifItemParser& /*aItem */)
+     {
+     LoadService();        
+                                     
+     CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();    
+         
+        TInt pos = 0;             
+        pMap->InsertL(KContactId, TLiwVariant( _L("")));
+           CLiwDefaultMap* fieldMap = CLiwDefaultMap::NewL();    
+           fieldMap->InsertL(KFieldLabel,TLiwVariant(_L("firstname")));
+               
+           fieldMap->InsertL(KFieldValue,TLiwVariant(_L("Barbie")));
+           
+           pMap->InsertL(KFirstName, TLiwVariant(fieldMap));
+
+           CLiwDefaultMap* fieldPrefixMap = CLiwDefaultMap::NewL();    
+           fieldPrefixMap->InsertL(KFieldLabel,TLiwVariant(_L("Prefix")));
+                   
+           fieldPrefixMap->InsertL(KFieldValue,TLiwVariant(_L("Princess")));
+           
+           pMap->InsertL(KPrefix, TLiwVariant(fieldPrefixMap));
+           
+           CLiwDefaultMap* fieldNoteMap = CLiwDefaultMap::NewL();    
+           
+           fieldNoteMap->InsertL(KFieldLabel,TLiwVariant(_L("Note")));
+                       
+           fieldNoteMap->InsertL(KFieldValue,TLiwVariant(_L("Sister of Princess Barbie")));
+           
+           pMap->InsertL(KNote, TLiwVariant(fieldNoteMap));
+           
+
+CLiwDefaultMap* anniMap = CLiwDefaultMap::NewL();    
+    anniMap->InsertL(KFieldLabel,TLiwVariant(_L("Anniversary")));
+    anniMap->InsertL(KFieldValue,TLiwVariant(TTime(TDateTime(2007,EOctober,25,0,0,0,0))));
+    pMap->InsertL(KAnniversary, TLiwVariant(anniMap));
+    
+    
+    CLiwDefaultMap* dateMap = CLiwDefaultMap::NewL();    
+    dateMap->InsertL(KFieldLabel,TLiwVariant(_L("Date")));
+    dateMap->InsertL(KFieldValue,TLiwVariant(TTime(TDateTime(2007,EOctober,25,0,0,0,0))));
+       pMap->InsertL(KDate, TLiwVariant(dateMap));
+               
+                                       
+           CLiwDefaultMap* fieldSecNameMap = CLiwDefaultMap::NewL();    
+           fieldSecNameMap->InsertL(KFieldLabel,TLiwVariant(_L("SecondName")));
+               
+           fieldSecNameMap->InsertL(KFieldValue,TLiwVariant(_L("Doll")));
+           
+           pMap->InsertL(KSecondName, TLiwVariant(fieldSecNameMap));
+               
+           CLiwDefaultMap* fieldPhotoMap = CLiwDefaultMap::NewL();    
+           fieldPhotoMap->InsertL(KFieldLabel,TLiwVariant(_L("CallerObjImg")));
+                   
+           fieldPhotoMap->InsertL(KFieldValue,TLiwVariant(_L("C:\\data\\images\\pic.jpg")));
+           
+           pMap->InsertL(KCallerObjImg, TLiwVariant(fieldPhotoMap));
+               
+           CLiwDefaultMap* fieldXspidMap = CLiwDefaultMap::NewL();    
+           CLiwList* list = CLiwDefaultList::NewL();
+           list->AppendL(TLiwVariant(_L("Yahoo:kelly@yahoo.co.in")));
+           list->AppendL(TLiwVariant(_L("Google:kelly@gmail.com")));
+           fieldXspidMap->InsertL(KFieldLabel,TLiwVariant(_L("IMPP")));
+               
+           fieldXspidMap->InsertL(KFieldValue,TLiwVariant(list));
+           
+           pMap->InsertL(KXSPID, TLiwVariant(fieldXspidMap));
+           
+                 
+     
+     
+     
+     const TLiwGenericParam paramContentType(KType, TLiwVariant( _L("Contact"))); 
+     const TLiwGenericParam paramAddData(KData, TLiwVariant(pMap)); ;
+         
+     inList ->AppendL( paramContentType );
+     inList ->AppendL( paramAddData );    
+     
+      
+     iIface->ExecuteCmdL(KCmdAdd, *inList, *outList, 0, NULL);
+         
+     const TLiwGenericParam* param = outList->FindFirst( pos, KExitCode );
+     TLiwVariant err = param->Value();
+     TInt code = err.AsTInt32();
+            
+            
+
+     if(code == SErrNone)
+             {
+             pos =0;
+              param = outList->FindFirst( pos, KReturnValue );    
+              
+              TLiwVariant cntId = param->Value();
+              
+              TPtrC idVal = cntId.AsDes();
+              if(idVal.Compare(KNullDesC) != 0)
+                  {
+                  pMap->DecRef();
+                  fieldMap->DecRef();
+                  fieldMap->DecRef();
+                  
+                  inList->Reset();
+                  outList->Reset(); 
+                  return KErrNone;
+                  }
+              else
+                  {
+                  pMap->DecRef();
+                  fieldMap->DecRef();
+                  fieldMap->DecRef();
+                  
+                  inList->Reset();
+                  outList->Reset(); 
+                  return KErrGeneral;
+                  }          
+             }           
+     pMap->DecRef();
+     fieldMap->DecRef();
+     fieldMap->DecRef();
+     
+     inList->Reset();
+     outList->Reset(); 
+     return KErrGeneral;
+     }
+
+
+ 
+
+ TInt CTestProvider :: AddGroupSynTest(CStifItemParser& /*aItem*/)
+     {           
+     LoadService();                          
+     CLiwDefaultMap* pMap = CLiwDefaultMap::NewL(); 
+     TInt pos = 0;                 
+     
+     pMap->InsertL(KDBUri, TLiwVariant( _L("cntdb://c:contacts.cdb")));
+     pMap->InsertL(KGroupId, TLiwVariant(_L8("")));
+     pMap->InsertL(KGroupLabel, TLiwVariant(_L("TestAddSyncGroup")));
+     
+     const TLiwGenericParam paramContentType(KType, TLiwVariant( _L("Group"))); 
+     const TLiwGenericParam paramAddData(KData, TLiwVariant(pMap)); ;
+        
+     inList ->AppendL( paramContentType );
+     inList ->AppendL( paramAddData );   
+     iIface->ExecuteCmdL(KCmdAdd, *inList, *outList, 0, NULL);
+         
+     const TLiwGenericParam* param = outList->FindFirst( pos, KExitCode );
+     TLiwVariant err = param->Value();
+     TInt code = err.AsTInt32();
+ 
+     
+     if(code == SErrNone)
+         { 
+          pos =0;   
+          param = outList->FindFirst( pos, KReturnValue );    
+          
+          TLiwVariant cntId = param->Value();
+          
+          TPtrC idVal = cntId.AsDes();
+          if(idVal.Compare(KNullDesC) != 0)
+              {
+              
+              inList->Reset();
+              outList->Reset();
+              return KErrNone;
+              }
+          else
+              {
+              
+              inList->Reset();
+              outList->Reset();
+              return KErrGeneral;
+              }        
+         }
+     
+     inList->Reset();
+     outList->Reset();
+     return KErrGeneral;
+     
+     }