Revision: 201009 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 15 Mar 2010 12:42:13 +0200
branchRCL_3
changeset 8 aca99fb8a3dd
parent 7 895b8e06c769
child 10 96b99892dd80
Revision: 201009 Kit: 201010
XDMEngine/XdmDeviceManagement/inc/xdmdmadapter.h
XDMEngine/XdmDeviceManagement/src/xdmdmadapter.cpp
XDMEngine/XdmSettingsApi/src/XdmSettingsApi.cpp
XDMSettingsUI/help/rom/xdmsettingsuihelps_variant.iby
XDMSettingsUI/src/XDMPlugin.cpp
presencesettingsui/help/rom/presencesettingsuihelps_variant.iby
presencesettingsui/inc/psuigsplugincontainer.h
presencesettingsui/src/psuigsplugin.cpp
simpledatamodeladapter/inc/presenceplugincontacts.h
simpledatamodeladapter/src/presencepluginauthorization.cpp
simpledatamodeladapter/src/presenceplugincontacts.cpp
simpledatamodeladapter/src/presenceplugincontactstate.cpp
simpledatamodeladapter/src/presenceplugincontactstateresolve.cpp
simpledatamodeladapter/src/presenceplugingroup.cpp
simpledatamodeladapter/src/presencepluginwatcher.cpp
simpledatamodeladapter/src/presencepluginxdmpresrules.cpp
simpledatamodeladapter/src/presencepluginxdmutils.cpp
simpledatamodeladapter/src/presensepluginlocalstore.cpp
xdmprotocols/XdmXmlParser/src/XmlFormatter.cpp
--- a/XDMEngine/XdmDeviceManagement/inc/xdmdmadapter.h	Fri Mar 12 15:44:19 2010 +0200
+++ b/XDMEngine/XdmDeviceManagement/inc/xdmdmadapter.h	Mon Mar 15 12:42:13 2010 +0200
@@ -61,6 +61,7 @@
 _LIT8( KXdmDmUriDotSlash,   "./" );
 _LIT8( KXdmDmSeparator,     "/" );
 _LIT8( KXdmDmSipLinkPrefix, "./SIP" );
+_LIT8( KXdmDefaultSettingsName,"DMAdapterIns" );
 _LIT( KXdmDefaultId,        "-1" );
 _LIT( KXdmDmStartBracket,   "(" );
 _LIT( KXdmDmCloseBracket,   ")" );
@@ -70,6 +71,7 @@
 
 // CONSTANTS
 const TInt KXdmDmLogBufferMaxSize   = 2000;
+const TInt KXdmMaxUriLength         = 256;
 const TInt KXdmDefaultResultSize    = 255;
 const TInt KXdmDmLevel                = 2;
 const TInt KXdmDmIdTableSize        = 16;
--- a/XDMEngine/XdmDeviceManagement/src/xdmdmadapter.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/XDMEngine/XdmDeviceManagement/src/xdmdmadapter.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -235,13 +235,18 @@
             }
         Callback().SetResultsL( aResultsRef, *currentList, KNullDesC8 );
         Callback().SetStatusL( aStatusRef, retValue );
-        CleanupStack::PopAndDestroy( 3, currentList ); // >>> settingIds, names, currentList
+        CleanupStack::PopAndDestroy( names );       // >>> names
+        CleanupStack::PopAndDestroy();              // >>> settingIds
+        CleanupStack::PopAndDestroy( currentList ); // >>> currentList
         return;
         }   
 
     // ./OMA_XDM/X   
     if( NSmlDmURI::NumOfURISegs( aUri ) == KXdmDmLevel )   
         {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): /OMA_XDM/X") );
+#endif 
         segmentName.Copy( KXdmDmAppId );
         currentList->InsertL( currentList->Size(), segmentName );
         currentList->InsertL( currentList->Size(), KXdmDmSeparator );
@@ -278,6 +283,9 @@
     // ./OMA_XDM/X/ToConRef   
     else if ( Match( lastUriSeg, KXdmDmToConRef ) ) 
         {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): /OMA_XDM/X/ToConRef") );
+#endif
         segmentName.Copy( KXdmDmSip );
         currentList->InsertL( currentList->Size(), segmentName );
         currentList->InsertL( currentList->Size(), KXdmDmSeparator );
@@ -290,6 +298,9 @@
     // ./OMA_XDM/X/ToConRef/SIP
     else if( Match( lastUriSeg, KXdmDmSip ) ) 
         {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): /OMA_XDM/X/ToConRef/SIP") );
+#endif
         segmentName.Copy( KXdmDmConRef );
         currentList->InsertL( currentList->Size(), segmentName );
         currentList->InsertL( currentList->Size(), KXdmDmSeparator );
@@ -298,6 +309,9 @@
     // ./OMA_XDM/X/ToConRef/TO-NAPID
     else if( Match ( lastUriSeg, KXdmDmToNapId ) ) 
         {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): /OMA_XDM/X/ToConRef/TO-NAPID") );
+#endif
         segmentName.Copy( KXdmDmConRef );
         currentList->InsertL( currentList->Size(), segmentName );
         currentList->InsertL( currentList->Size(), KXdmDmSeparator );
@@ -305,6 +319,9 @@
     else
         {
         // if none of asked nodes found return error.
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): return ENotFound") );
+#endif
         retValue = CSmlDmAdapter::ENotFound;
         }
        
@@ -502,6 +519,9 @@
     {
 #ifdef _DEBUG
     WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL(): begin") );
+    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL() -    aUri: %S"), &aUri );
+    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL() -   aLUID: %S"), &aLUID );
+    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL() - aObject: %S"), &aObject );
 #endif   
     CSmlDmAdapter::TError status = CSmlDmAdapter::EOk;
 
@@ -521,6 +541,9 @@
         HBufC* current = NULL;
         TInt error( KErrNone );
         TRAP( error, ( current = TXdmSettingsApi::PropertyL( settingsId, EXdmPropName ) ) );
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL() - EXdmPropName error: %d"), error );
+#endif 
         if ( error == KErrNone )
             {
             TBool same ( EFalse );
@@ -530,16 +553,20 @@
                 {
                 same = ETrue;
                 }
-            CleanupStack::PopAndDestroy( 2, current8 );  // >>> current, current8
+            CleanupStack::PopAndDestroy( current8 );  // >>> current8
+            CleanupStack::PopAndDestroy( current );  // >>> current
             if ( same )
                 {
                 Callback().SetStatusL( aStatusRef, status );
-                return;
+                return; // value was same, just return without change
                 }
             }
         // if the name is already in use, new name with index is created
         HBufC* value = CheckExistingNamesLC( aObject );     // << value
         TRAP( error, TXdmSettingsApi::UpdatePropertyL( settingsId, *value, EXdmPropName ) );
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL() - EXdmPropName error: %d"), error );
+#endif
         CleanupStack::PopAndDestroy( value );                      // >>> value
         if ( error != KErrNone )
             {
@@ -647,14 +674,33 @@
         TInt id = TXdmSettingsApi::CreateCollectionL( *collection );
         HBufC8* luid = IntToDes8LC( id );   // << luid
         Callback().SetMappingL( aUri, *luid );
-        CleanupStack::PopAndDestroy( 2, luid );   // >>> collection, luid  
-        status =  CSmlDmAdapter::EOk;  
+        status =  CSmlDmAdapter::EOk;
 #ifdef _DEBUG
     WriteToLog(_L8("CXdmDMAdapter::AddNodeObjectL(): Settings created id=%d"), id );
 #endif
+        HBufC8* nameUri = HBufC8::NewLC( aUri.Length() +
+                                         KXdmDmSeparator().Length() +
+                                         KXdmDmName().Length() );
+        TPtr8 nameUriPtr = nameUri->Des();
+        nameUriPtr.Append( aUri );
+        nameUriPtr.Append( KXdmDmSeparator );
+        nameUriPtr.Append( KXdmDmName );
+
+        // Update Node's NAME to default so UI can recognize settings
+        UpdateLeafObjectL( nameUriPtr,
+                           *luid,
+                           KXdmDefaultSettingsName,
+                           KXdmDmName,
+                           aStatusRef );
+        CleanupStack::PopAndDestroy( nameUri );    // >> nameUri
+        CleanupStack::PopAndDestroy( luid );       // >> luid
+        CleanupStack::PopAndDestroy( collection ); // >> collection
         }
-    Callback().SetStatusL( aStatusRef, status );
-    
+    else
+        {
+        Callback().SetStatusL( aStatusRef, status );
+        }
+        
 #ifdef _DEBUG
     WriteToLog(_L8("CXdmDMAdapter::AddNodeObjectL(): end") );
 #endif
@@ -703,6 +749,9 @@
                                        const TDesC8& /*aType*/, 
                                        const TInt aStatusRef )
     {  
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL( ): begin / end") );
+#endif
     // Update from stream not used
     Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
     }
@@ -717,6 +766,9 @@
                                      const TDesC8& /*aType*/, 
                                      const TInt aStatusRef )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ExecuteCommandL( ): Not supported") );
+#endif
     // Not supported 
     Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
     }
@@ -731,6 +783,9 @@
                                      const TDesC8& /*aType*/, 
                                      const TInt aStatusRef )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::ExecuteCommandL( ): Not supported") );
+#endif
     // Not supported
     Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
     }
@@ -746,6 +801,9 @@
                                   const TDesC8& /*aType*/, 
                                   TInt aStatusRef )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::CopyCommandL( ): Not supported") );
+#endif
     // Not supported
     Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
     }
@@ -757,6 +815,9 @@
 void CXdmDMAdapter::StartAtomicL()
     {
     // Not supported
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::StartAtomicL( ): Not supported") );
+#endif
     }
 
 // -----------------------------------------------------------------------------
@@ -766,6 +827,9 @@
 void CXdmDMAdapter::CommitAtomicL()
     {
     // Not supported
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::CommitAtomicL( ): Not supported") );
+#endif
     }
 
 // -----------------------------------------------------------------------------
@@ -775,6 +839,9 @@
 void CXdmDMAdapter::RollbackAtomicL()
     {
     // Not supported
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::RollBackAtomicL( ): Not supported") );
+#endif
     }
 
 // -----------------------------------------------------------------------------
@@ -783,6 +850,9 @@
 //
 TBool CXdmDMAdapter::StreamingSupport( TInt& /*aItemSize*/ )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::StreamingSupport( ): Return EFalse") );
+#endif
     return EFalse;
     }
 
@@ -793,6 +863,9 @@
 void CXdmDMAdapter::StreamCommittedL()
     {
     // Not supported
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::StreamCommittedL( ): Not supported") );
+#endif
     }
     
 // -----------------------------------------------------------------------------
@@ -814,6 +887,9 @@
                                                    TXdmSettingsProperty aProperty, 
                                                    CBufBase& aObject )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::GetPropertyL( ) - aSettingsId = %d"), &aSettingsId );
+#endif
     HBufC* value = NULL;
     TInt error( KErrNone );
     TRAP( error, ( value = TXdmSettingsApi::PropertyL( aSettingsId, aProperty ) ) );
@@ -822,9 +898,16 @@
         CleanupStack::PushL( value );           // << value
         HBufC8* utfValue = ConvertLC( *value ); // << utfValue
         aObject.InsertL( 0, *utfValue );
-        CleanupStack::PopAndDestroy( 2, utfValue );       // >>> value, utfValue
+        CleanupStack::PopAndDestroy( utfValue );       // >>> utfValue
+        CleanupStack::PopAndDestroy( value );       // >>> value
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::GetPropertyL( ): return EOk") );
+#endif
         return CSmlDmAdapter::EOk;
         }
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::GetPropertyL( ): return ENotFound") );
+#endif
     return CSmlDmAdapter::ENotFound;
     }
     
@@ -837,6 +920,9 @@
                                                       TXdmSettingsProperty aProperty, 
                                                       const TDesC8& aObject )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UpdatePropertyL( ): begin") );
+#endif
     HBufC* value = ConvertLC( aObject ); // << value
     TInt error( KErrNone );
     TRAP( error, TXdmSettingsApi::UpdatePropertyL( aSettingsId, *value, aProperty )  );
@@ -844,8 +930,14 @@
 
     if ( error == KErrNone )
         {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UpdatePropertyL( ): return EOk") );
+#endif
         return CSmlDmAdapter::EOk;
         }
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UpdatePropertyL( ): return ENotFound") );
+#endif
     return CSmlDmAdapter::ENotFound;
     }
           
@@ -861,6 +953,9 @@
                                    MSmlDmDDFObject::TDFFormat aFormat,
                                    const TDesC8& aDescription)
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FillNodeInfoL( ): begin") );
+#endif
     aNode.SetAccessTypesL( aAccTypes );
     aNode.SetOccurenceL( aOccurrence );
     aNode.SetScopeL( aScope );
@@ -871,6 +966,9 @@
         aNode.AddDFTypeMimeTypeL( KXdmDmTextPlain );
         }
     aNode.SetDescriptionL( aDescription );
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FillNodeInfoL( ): end") );
+#endif
     }
     
 
@@ -880,6 +978,9 @@
 //
 TInt CXdmDMAdapter::IapIdFromURIL( const TDesC8& aUri )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::IapIdFromUriL( ): begin") );
+#endif
     TInt id( KErrNotFound );
     MSmlDmAdapter::TError status( MSmlDmAdapter::EError );
     CBufBase* result = CBufFlat::NewL(1);
@@ -901,6 +1002,9 @@
         }
 
     CleanupStack::PopAndDestroy( result );  // >>> result
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::IapIdFromUriL( ): end") );
+#endif
     return id;
     } 
 
@@ -910,6 +1014,9 @@
 //
 HBufC8* CXdmDMAdapter::URIFromIapIdL( TInt aId )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UriFromIapIdL( ): begin") );
+#endif
     CBufBase *allIds = CBufFlat::NewL(KXdmDmIdTableSize);
     CleanupStack::PushL( allIds );  // << allIds
     MSmlDmAdapter::TError status;
@@ -936,7 +1043,7 @@
             else
                 {
                 TPtrC8 uriSeg8Ptr = allIds->Ptr(segStart).Mid( 0, index );
-                uriSeg = uriSeg8Ptr.AllocLC();  // << uriSeg8Ptr
+                uriSeg = uriSeg8Ptr.AllocLC();  // << uriSeg
                 }
             // Construct the uri
             HBufC8* uri = HBufC8::NewLC( KXdmDmAP().Length() 
@@ -957,17 +1064,25 @@
                 if ( id == aId )
                     {
                     // The correct one found
-                    CleanupStack::Pop();  // >>> uri
-                    CleanupStack::PopAndDestroy( 2, allIds );  // >>> uriSeg, allIds
+                    CleanupStack::Pop();                     // >>> uri
+                    CleanupStack::PopAndDestroy( uriSeg );   // >>> uriSeg 
+                    CleanupStack::PopAndDestroy( allIds );   // >>> allIds
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UriFromIapIdL( ): return uri") );
+#endif
                     return uri;
                     }
                 }
             // This was wrong, delete and get the next one
-            CleanupStack::PopAndDestroy( 2, uriSeg ); // >>> uri, uriSeg
+            CleanupStack::PopAndDestroy( uri );      // >>> uri
+            CleanupStack::PopAndDestroy( uriSeg );   // >>> uriSeg 
             segStart += index + 1;
             }        
         }
     CleanupStack::PopAndDestroy( allIds ); // >>> allIds
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::UriFromIapIdL( ): return NULL") );
+#endif
     return NULL;
     }  
 // -----------------------------------------------------------------------------
@@ -976,7 +1091,9 @@
 //
 TInt CXdmDMAdapter::GetSipIdL( const TDesC8& aUri )
     {
-
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::GetSipIdL( ): begin") );
+#endif
     CSmlDmAdapter::TError status = EOk;
     CBufBase* result = CBufFlat::NewL(1);
     CleanupStack::PushL( result );    // << result
@@ -991,10 +1108,16 @@
         TPtrC8 hexIndex = uri.Right( KXdmDmHexLength );
         TLex8 lexer( hexIndex );
         lexer.Val( id, EHex );
-        CleanupStack::PopAndDestroy( result );   // >>> result   
+        CleanupStack::PopAndDestroy( result );   // >>> result
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::GetSipIdL( ): return id: %d"), id );
+#endif
         return id;       
         }
-    CleanupStack::PopAndDestroy( result );   // >>> result   
+    CleanupStack::PopAndDestroy( result );   // >>> result
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::GetSipIdL( ): return KErrNotFound") );
+#endif
     return KErrNotFound;       
     }
 // -----------------------------------------------------------------------------
@@ -1004,7 +1127,9 @@
 CSmlDmAdapter::TError CXdmDMAdapter::FetchSipConRefL( TInt aSettingsId,
                                                       CBufBase& aObject)
     {
-
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FetchSipConRefL( ): begin") );
+#endif
     CSmlDmAdapter::TError status = CSmlDmAdapter::EOk;
     TInt sipSettingsId( KErrNotFound );
     
@@ -1084,7 +1209,9 @@
         {
         status = CSmlDmAdapter::ENotFound;
         }
-    
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FetchSipConRefL( ): return status") );
+#endif
     return status;
     }   
 
@@ -1094,10 +1221,16 @@
 //      
 TInt CXdmDMAdapter::FindSettingsIdL( const TDesC8& aLUID, const TDesC8& aUri )
     {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FindSettingsIdL( ): begin") );
+#endif
     TInt settingsId(0);
     if ( aLUID.Length() > 0 )
         {
         settingsId = DesToInt( aLUID );
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FindSettingsIdL( ): return settingsId: %d "), settingsId );
+#endif
         return settingsId;
         }
     else
@@ -1107,6 +1240,9 @@
         HBufC8* luid = IntToDes8LC( settingsId ); // << luid
         Callback().SetMappingL( aUri, *luid );
         CleanupStack::PopAndDestroy( luid ); // luid 
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::FindSettingsIdL( ): return settingsId: %d "), settingsId );
+#endif
         return settingsId;
         }
     }
@@ -1116,7 +1252,10 @@
 // -----------------------------------------------------------------------------
 // 
 HBufC* CXdmDMAdapter::CheckExistingNamesLC( const TDesC8& aName )
-    {    
+    {
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::CheckExistingNamesLC( ): begin") );
+#endif
     TBool ready( EFalse );  
     RArray<TInt> settingIds;
     CleanupClosePushL( settingIds );                // << settingIds
@@ -1147,8 +1286,12 @@
             ready = ETrue;
             }
         }
-    CleanupStack::PopAndDestroy( 2 );   // >>> settingNames, settingIds
+    CleanupStack::PopAndDestroy( settingNames );   // >>> settingNames
+    CleanupStack::PopAndDestroy();                 // >>> settingIds
     HBufC* newName = tempName.AllocLC();    // << newName
+#ifdef _DEBUG
+    WriteToLog(_L8("CXdmDMAdapter::CheckExistingNamesLC( ): end") );
+#endif
     return newName;
     }
     
--- a/XDMEngine/XdmSettingsApi/src/XdmSettingsApi.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/XDMEngine/XdmSettingsApi/src/XdmSettingsApi.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -31,11 +31,11 @@
 EXPORT_C TInt TXdmSettingsApi::CreateCollectionL( const CXdmSettingsCollection& aCollection )
     {
     #ifdef _DEBUG
-        WriteToLog( _L8( "TXdmSettingsApi::CreateCollectionL()" ) );
+        WriteToLog( _L8( "TXdmSettingsApi::CreateCollectionL() - begin" ) );
     #endif
     TInt error = KErrArgument;
     CRepository* repository = CRepository::NewL( KCRUidXdmEngine );
-    CleanupStack::PushL( repository );
+    CleanupStack::PushL( repository );  // CS: 1
     TInt row = LastRow( repository );
     TInt count = aCollection.Count();
     __ASSERT_DEBUG( count > 0, User::Leave( KErrArgument ) );
@@ -364,8 +364,10 @@
 EXPORT_C CDesCArray* TXdmSettingsApi::CollectionNamesLC( RArray<TInt>& aSettingIds )
     {
     #ifdef _DEBUG
-        WriteToLog( _L8( "TXdmSettingsApi::CollectionNamesL()" ) );
+        WriteToLog( _L8( "TXdmSettingsApi::CollectionNamesLC() - begin" ) );
     #endif
+    TInt nameError = KErrNone;
+    TInt idError = KErrNone;
     TInt error = KErrNone;
     CDesCArrayFlat* propertySet = new ( ELeave ) CDesCArrayFlat( 10 );
     CleanupStack::PushL( propertySet );
@@ -390,9 +392,9 @@
             identifier.Zero();
             name = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
             TPtr desc( name->Des());
-            error = repository->Get( nameKeys[i], desc );
-            error = repository->Get( idKeys[i], identifier );
-            if( error == KErrNone && desc.Length() > 0 && identifier.Length() > 0 )
+            nameError = repository->Get( nameKeys[i], desc );
+            idError = repository->Get( idKeys[i], identifier );
+            if( idError == KErrNone && desc.Length() > 0 && identifier.Length() > 0 )
                 {
                 #ifdef _DEBUG
                     HBufC8* eightName = HBufC8::NewLC( desc.Length() );
@@ -409,13 +411,16 @@
             else
                 {
                 #ifdef _DEBUG
-                    WriteToLog( _L8( " Fetching of the name no. %d failed with: %d" ), i, error );
+                    WriteToLog( _L8( " Fetching of the name no. %d failed with idError:%d & nameError:%d" ), i, idError, nameError );
                 #endif
                 }
             CleanupStack::PopAndDestroy();  //name
             }
         }
     CleanupStack::PopAndDestroy( 3 );   //idKeys, nameKeys, repository
+#ifdef _DEBUG
+        WriteToLog( _L8( "TXdmSettingsApi::CollectionNamesLC() - end" ) );
+#endif
     return propertySet;
     }
                                             
@@ -518,6 +523,7 @@
         User::Leave( error );
         }
     CleanupStack::PopAndDestroy( 2 );  //keys, repository
+    WriteToLog( _L8( "  Return:           %S" ), buf );
     return buf;
     }
             
--- a/XDMSettingsUI/help/rom/xdmsettingsuihelps_variant.iby	Fri Mar 12 15:44:19 2010 +0200
+++ b/XDMSettingsUI/help/rom/xdmsettingsuihelps_variant.iby	Mon Mar 15 12:42:13 2010 +0200
@@ -18,11 +18,11 @@
 #ifndef __XDMSETTINGSUIHELPS_VARIANT_IBY__
 #define __XDMSETTINGSUIHELPS_VARIANT_IBY__
 
-#if defined(FF_S60_HELPS_IN_USE) && defined(__GSXDMPLUGIN_USED)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207428\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10207428\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207428\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207428\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207428\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207428\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207428\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207428\meta.xml)
+#if defined(FF_S60_HELPS_IN_USE)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207429\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10207429\contents.zip)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207429\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207429\index.xml)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207429\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207429\keywords.xml)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10207429\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10207429\meta.xml)
 #endif
 
 #endif
\ No newline at end of file
--- a/XDMSettingsUI/src/XDMPlugin.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/XDMSettingsUI/src/XDMPlugin.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -23,7 +23,7 @@
 
 #include <aknViewAppUi.h>
 #include <StringLoader.h>
-#include <GSPrivatePluginProviderIds.h>
+#include <gsprivatepluginproviderids.h>
 #include <eikmenub.h>
 #include <aknlists.h>
 #include <aknPopup.h>
--- a/presencesettingsui/help/rom/presencesettingsuihelps_variant.iby	Fri Mar 12 15:44:19 2010 +0200
+++ b/presencesettingsui/help/rom/presencesettingsuihelps_variant.iby	Mon Mar 15 12:42:13 2010 +0200
@@ -18,7 +18,7 @@
 #ifndef __PRESENCESETTINGSUIHELPS_VARIANT_IBY__
 #define __PRESENCESETTINGSUIHELPS_VARIANT_IBY__
 
-#if defined(FF_S60_HELPS_IN_USE) && defined(__PSUIGSPLUGIN_USED)
+#if defined(FF_S60_HELPS_IN_USE)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281EF0\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10281EF0\contents.zip)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281EF0\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281EF0\index.xml)
     data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281EF0\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281EF0\keywords.xml)
--- a/presencesettingsui/inc/psuigsplugincontainer.h	Fri Mar 12 15:44:19 2010 +0200
+++ b/presencesettingsui/inc/psuigsplugincontainer.h	Mon Mar 15 12:42:13 2010 +0200
@@ -23,7 +23,7 @@
 
 // INCLUDES
 #include <eikmobs.h>
-#include <GSBaseContainer.h>
+#include <gsbasecontainer.h>
 
 // FORWARD DECLARATIONS
 class CPSUIGSPlugin;
--- a/presencesettingsui/src/psuigsplugin.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/presencesettingsui/src/psuigsplugin.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -21,10 +21,10 @@
 // INCLUDE FILES
 #include <bautils.h>
 #include <gsprivatepluginproviderids.h>
-#include <GSFWViewUIDs.h>
+#include <gsfwviewuids.h>
 #include <psuigspluginrsc.rsg>
 #include <psuigsplugin.mbg>
-#include <GSBaseView.h>
+#include <gsbaseview.h>
 #include <eiktxlbx.h>
 #include <eikmenup.h>
 #include <eiktxlbm.h>
--- a/simpledatamodeladapter/inc/presenceplugincontacts.h	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/inc/presenceplugincontacts.h	Mon Mar 15 12:42:13 2010 +0200
@@ -21,9 +21,9 @@
 
 
 #include <e32base.h>
-#include <mvpbkcontactfindobserver.h>
-#include <mvpbksinglecontactoperationobserver.h>
-#include <mvpbkcontactstorelistobserver.h>
+#include <MVPbkContactFindObserver.h>
+#include <MVPbkSingleContactOperationObserver.h>
+#include <MVPbkContactStoreListObserver.h>
 #include "presencecontactscontextbase.h"
 #include "presencelogger.h"
 
--- a/simpledatamodeladapter/src/presencepluginauthorization.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presencepluginauthorization.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -522,6 +522,14 @@
                 break;
             }
         }
+    else if ( KErrNotFound == myStatus && EStateDoBlock == iAuthState )
+        {
+        // When blocking friend request, watcher was not found but request
+        // has to be blocked anyways.
+        DP_SDA( "CPresencePluginAuthorization::RunL - Block presentity" );
+        BlockPresentityL();
+        iAuthState = EStateBlocked;
+        }
     else
         {
         DP_SDA( "CPresencePluginAuthorization::RunL -error" );
--- a/simpledatamodeladapter/src/presenceplugincontacts.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presenceplugincontacts.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -16,24 +16,24 @@
 */
 
 
-#include <vpbkcontactstoreuris.h>
+#include <VPbkContactStoreUris.h>
 #include <spsettings.h>
 #include <spproperty.h>
-#include <cvpbkcontactmanager.h>
-#include <cvpbkcontactstoreuriarray.h>
-#include <tvpbkcontactstoreuriptr.h>
-#include <mvpbkcontactoperationbase.h>
-#include <mvpbkcontactstorelist.h>
-#include <mvpbkcontactlinkarray.h>
-#include <mvpbkcontactlink.h>
-#include <mvpbkstorecontact.h>
-#include <mvpbkcontactfielddata.h>
-#include <mvpbkcontactfieldtextdata.h>
-#include <mvpbkcontactfielduridata.h>
-#include <cvpbkcontactidconverter.h>
-#include <mvpbkstorecontactfieldcollection.h>
-#include <cvpbkfieldtyperefslist.h>
-#include <vpbkeng.rsg>
+#include <CVPbkContactManager.h>
+#include <CVPbkContactStoreUriArray.h>
+#include <TVPbkContactStoreUriPtr.h>
+#include <MVPbkContactOperationBase.h>
+#include <MVPbkContactStoreList.h>
+#include <MVPbkContactLinkArray.h>
+#include <MVPbkContactLink.h>
+#include <MVPbkStoreContact.h>
+#include <MVPbkContactFieldData.h>
+#include <MVPbkContactFieldTextData.h>
+#include <MVPbkContactFieldUriData.h>
+#include <CVPbkContactIdConverter.h>
+#include <MVPbkStoreContactFieldCollection.h>
+#include <CVPbkFieldTypeRefsList.h>
+#include <VPbkEng.rsg>
 
 #include "presenceplugincontacts.h" 
 #include "presencelogger.h"
--- a/simpledatamodeladapter/src/presenceplugincontactstate.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presenceplugincontactstate.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -17,7 +17,7 @@
 
 
 #include "presenceplugincontactstate.h"
-#include "PresencePluginContactStateHandler.h"
+#include "presenceplugincontactstatehandler.h"
 
 
 // ======== MEMBER FUNCTIONS ========
--- a/simpledatamodeladapter/src/presenceplugincontactstateresolve.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presenceplugincontactstateresolve.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -16,8 +16,8 @@
 */
 
 
-#include <mvpbkcontactlinkarray.h>
-#include <mvpbkcontactlink.h>
+#include <MVPbkContactLinkArray.h>
+#include <MVPbkContactLink.h>
 #include "presenceplugincontactstateresolve.h"
 #include "presencecontactscontextbase.h"
 #include "presenceplugincontactstatehandler.h"
--- a/simpledatamodeladapter/src/presenceplugingroup.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presenceplugingroup.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -25,7 +25,7 @@
 #include <ximpstatus.h>
 #include <ximpidentity.h>
 #include <ximpobjectcollection.h>
-#include <xdmerrors.h>
+#include <XdmErrors.h>
 #include <presentitygroupinfo.h>
 #include <presentitygroupmemberinfo.h>
 #include <utf.h>
@@ -337,6 +337,15 @@
         // OK response
         CallActualXdmOperationL( myStatus );
         }
+    else if ( KErrNotFound == myStatus && !iCompleted )
+        {
+        DP_SDA("CPresencePluginGroups::RunL KErrNotFound == myStatus");
+        
+        // DoPerformUnsubscribePresentityPresenceL didn't find watcher
+        // so it did not execute StopSubscribeL from the watcher. Still
+        // presentity group member has to be removed.
+        CallActualXdmOperationL( KErrNone );
+        }
     else if ( !myStatus && iCompleted )
         {
         DP_SDA("CPresencePluginGroups::RunL SEND COMPLETE");
--- a/simpledatamodeladapter/src/presencepluginwatcher.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presencepluginwatcher.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -216,17 +216,19 @@
         MatchWatcherL( pres8->Des(), EFalse );
     if ( !watcher )
         {
-        DP_SDA("DoUnsubscribePresentityPresenceL error");
-        User::Leave( KErrNotFound ); // Notice: error code
+        DP_SDA("DoUnsubscribePresentityPresenceL watcher not found");
+        aStatus = KRequestPending;
+        TRequestStatus* temp = &aStatus;
+        User::RequestComplete( temp, KErrNotFound );
         }
     else
         {
-      	DP_SDA("DoUnsubscribePresentityPresenceL stop subscripe");
-        watcher->StopSubscribeL( aStatus );      
-        }    
+      	DP_SDA("DoUnsubscribePresentityPresenceL stop subscribe");
+        watcher->StopSubscribeL( aStatus );
+        }
     CleanupStack::PopAndDestroy( pres8 );  // >> pres8
     
-    DP_SDA("CPresencePluginWatcher::DoPerformUnsubscribePresentityPresenceL -end");
+    DP_SDA("CPresencePluginWatcher::DoPerformUnsubscribePresentityPresenceL end");
     }
 
 // ---------------------------------------------------------------------------
--- a/simpledatamodeladapter/src/presencepluginxdmpresrules.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presencepluginxdmpresrules.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -15,12 +15,12 @@
 *
 */
 
-#include <xdmengine.h>
-#include <xdmprotocolinfo.h>
-#include <xdmdocument.h>
-#include <xdmdocumentnode.h>
-#include <xdmnodeattribute.h>
-#include <xdmerrors.h>
+#include <XdmEngine.h>
+#include <XdmProtocolInfo.h>
+#include <XdmDocument.h>
+#include <XdmDocumentNode.h>
+#include <XdmNodeAttribute.h>
+#include <XdmErrors.h>
 #include <XdmProtocolUidList.h>
 
 #include "presencepluginxdmpresrules.h"
--- a/simpledatamodeladapter/src/presencepluginxdmutils.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presencepluginxdmutils.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -25,12 +25,12 @@
 #include <ximpobjectcollection.h>
 #include <presentitygroupinfo.h>
 #include <presentitygroupmemberinfo.h>
-#include <xdmengine.h>
-#include <xdmdocument.h>
-#include <xdmprotocolinfo.h>
-#include <xdmdocumentnode.h>
-#include <xdmnodeattribute.h>
-#include <xdmerrors.h>
+#include <XdmEngine.h>
+#include <XdmDocument.h>
+#include <XdmProtocolInfo.h>
+#include <XdmDocumentNode.h>
+#include <XdmNodeAttribute.h>
+#include <XdmErrors.h>
 #include <pressettingsapi.h> //for TPresSettingsSet
 #include <XdmSettingsApi.h>
 #include <XdmProtocolUidList.h>
--- a/simpledatamodeladapter/src/presensepluginlocalstore.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/simpledatamodeladapter/src/presensepluginlocalstore.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -22,8 +22,8 @@
 
 _LIT( KContactId, "ContactId" );
 _LIT( KContactTable, "Contacts" );
-_LIT( KStorageExtn, ".db");
-_LIT( KDbPath, "c:\\" );
+_LIT( KStorageExtn, ".db" );
+_LIT( KDbPath, "c:\\MeCo\\" );
 
 
 // ======== MEMBER FUNCTIONS ========
@@ -43,7 +43,7 @@
 //
 void CPresencePluginLocalstore::ConstructL( const TDesC& aServiceName )
     {
-    DP_SDA( "CPresencePluginLocalstore::ConstructL -Start" );
+    DP_SDA( "CPresencePluginLocalstore::ConstructL Start" );
 
     iLocalDBName =
         HBufC::NewL( aServiceName.Length()+ KStorageExtn().Length() );
@@ -54,24 +54,24 @@
     AknTextUtils::StripCharacters( localDBNamePtr, KSpecialChar );
     localDBNamePtr.Append( KStorageExtn() );
 
-    DP_SDA2( "CPresencePluginLocalstore::ConstructL -localDBName: %S" , &localDBNamePtr );
+    DP_SDA2( "CPresencePluginLocalstore::ConstructL - localDBName: %S" , &localDBNamePtr );
 
     User::LeaveIfError( iFs.Connect() );
     if ( DbExists() )
         {
-        DP_SDA( "CPresencePluginLocalstore::ConstructL -DB exists" );
+        DP_SDA( "CPresencePluginLocalstore::ConstructL - DB exists" );
         OpenDbL();
         }
     else
         {
-        DP_SDA( "CPresencePluginLocalstore::ConstructL -DB does not exists LEAVE!" );
+        DP_SDA( "CPresencePluginLocalstore::ConstructL - DB does not exist LEAVE!" );
         User::Leave( KErrNotReady );
         }
 
     User::LeaveIfError( iTable.Open( iDb, KContactTable ) );
     iColset = iDb.ColSetL( KContactTable );
 
-    DP_SDA( "CPresencePluginLocalstore::ConstructL -End" );
+    DP_SDA( "CPresencePluginLocalstore::ConstructL End" );
     }
 
 
@@ -110,7 +110,7 @@
 //
 CPresencePluginLocalstore::~CPresencePluginLocalstore()
     {
-    DP_SDA( "CPresencePluginLocalstore::~CPresencePluginLocalstore -Start" );
+    DP_SDA( "CPresencePluginLocalstore::~CPresencePluginLocalstore Start" );
 
     delete iLocalDBName;
     delete iFileStore;
@@ -120,7 +120,7 @@
     iDb.Close();
     iFs.Close();
 
-    DP_SDA( "CPresencePluginLocalstore::~CPresencePluginLocalstore -End" );
+    DP_SDA( "CPresencePluginLocalstore::~CPresencePluginLocalstore End" );
     }
 
 
--- a/xdmprotocols/XdmXmlParser/src/XmlFormatter.cpp	Fri Mar 12 15:44:19 2010 +0200
+++ b/xdmprotocols/XdmXmlParser/src/XmlFormatter.cpp	Mon Mar 15 12:42:13 2010 +0200
@@ -23,7 +23,7 @@
 #include <XdmDocumentNode.h>
 #include <XdmNodeAttribute.h>
 
-#include "XdmLogWriter.h"
+#include "xdmlogwriter.h"
 #include "XmlFormatter.h"
 #include "XmlParserDefines.h"
 #include "XmlParserNodePath.h"