mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectreferences.cpp
changeset 51 e61a04404bdf
parent 35 2ee890d2f7e7
child 67 16db3449d7ba
equal deleted inserted replaced
44:d141fc1ad77b 51:e61a04404bdf
   202     {
   202     {
   203     TInt count = aReferences.Count();
   203     TInt count = aReferences.Count();
   204     PRINT2( _L("MM MTP => CGetObjectReferences::AddReferencesL aRefOwnerSuid = %S, ref count = %d"), &aRefOwnerSuid, count );
   204     PRINT2( _L("MM MTP => CGetObjectReferences::AddReferencesL aRefOwnerSuid = %S, ref count = %d"), &aRefOwnerSuid, count );
   205 
   205 
   206     // check if references are valid
   206     // check if references are valid
   207     TInt removeCount = 0;
   207     for ( TInt i = count-1; i >= 0; i-- )
   208     for ( TInt i = 0; i < count; i++ )
   208         {
   209         {
   209         TPtrC temp( aReferences[i] );
   210         TInt index = i - removeCount;
   210         PRINT2( _L( "MM MTP <> CGetObjectReferences::AddReferencesL ref[%d]'s name = %S" ), i, &temp );
   211         TPtrC temp( aReferences[index] );
       
   212         PRINT2( _L( "MM MTP <> CGetObjectReferences::AddReferencesL ref[%d]'s name = %S" ), index, &temp );
       
   213         PERFLOGSTART( KObjectManagerHandle );
   211         PERFLOGSTART( KObjectManagerHandle );
   214         TUint32 handle = iFramework.ObjectMgr().HandleL( temp );
   212         TUint32 handle = iFramework.ObjectMgr().HandleL( temp );
   215         PERFLOGSTOP( KObjectManagerHandle );
   213         PERFLOGSTOP( KObjectManagerHandle );
   216         if ( handle == KMTPHandleNone ) // object doesn't exist
   214         if ( handle == KMTPHandleNone ) // object doesn't exist
   217             {
   215             {
   218             PRINT1( _L( "MM MTP <> CGetObjectReferences::AddReferencesL, [%S] doesn't existed in handle db, remove this from reference array" ), &temp );
   216             PRINT1( _L( "MM MTP <> CGetObjectReferences::AddReferencesL, [%S] doesn't existed in handle db, remove this from reference array" ), &temp );
   219 
   217 
   220             // if handle is invalid, remove from reference array
   218             // if handle is invalid, remove from reference array
   221             aReferences.Delete( index, 1 );
   219             aReferences.Delete( i );
   222             removeCount++;
       
   223             }
   220             }
   224         }
   221         }
   225 
   222 
   226     // add all references into references db
   223     // add all references into references db
   227     MMTPReferenceMgr& referenceMgr = iFramework.ReferenceMgr();
   224     MMTPReferenceMgr& referenceMgr = iFramework.ReferenceMgr();