diff -r 8466d47a6819 -r 12c456ceeff2 emailservices/emailserver/cmailhandlerplugin/src/cmailcpsif.cpp --- a/emailservices/emailserver/cmailhandlerplugin/src/cmailcpsif.cpp Thu Dec 17 08:39:21 2009 +0200 +++ b/emailservices/emailserver/cmailhandlerplugin/src/cmailcpsif.cpp Thu Jan 07 12:38:38 2010 +0200 @@ -106,11 +106,12 @@ // create resourcefile CCoeEnv* env = CCoeEnv::Static(); - TFileName resourceFile; + // Load resource file from the same drive where this dll is loaded from + TFileName dllFileName; + Dll::FileName( dllFileName ); TParse parse; - - parse.Set( KResourceFile, &KDC_ECOM_RESOURCE_DIR, NULL ); - resourceFile = parse.FullName(); + User::LeaveIfError( parse.Set( KResourceFile, &dllFileName, NULL ) ); + TFileName resourceFile( parse.FullName() ); BaflUtils::NearestLanguageFile( env->FsSession(), resourceFile ); iResourceFileOffset = env->AddResourceFileL( resourceFile ); @@ -474,47 +475,53 @@ } } + // Parse mif file full path by own dll drive letter + TFileName dllFileName; + Dll::FileName( dllFileName ); + TParse mifParse; + User::LeaveIfError( mifParse.Set( KMifPath, &dllFileName, NULL ) ); + if (!iconIds.Length()) { TBuf id; - iconIds.Copy(KMifPrefix); - iconIds.Append(KMifPath); - iconIds.Append(KSpace); - id.Num(aBitmapId); - iconIds.Append(id); - iconIds.Append(KSpace); - id.Num(aBitmapMaskId); - iconIds.Append(id); + iconIds.Copy( KMifPrefix ); + iconIds.Append( mifParse.FullName() ); + iconIds.Append( KSpace ); + id.Num( aBitmapId ); + iconIds.Append( id ); + iconIds.Append( KSpace ); + id.Num( aBitmapMaskId ); + iconIds.Append( id ); } // The actual image publishing part starts here CLiwGenericParamList* inparam = &(iServiceHandler->InParamListL()); CLiwGenericParamList* outparam = &(iServiceHandler->OutParamListL()); - TLiwGenericParam type( KType, TLiwVariant(KCpData)); + TLiwGenericParam type( KType, TLiwVariant( KCpData ) ); inparam->AppendL( type ); CLiwDefaultMap* pdatamap = CLiwDefaultMap::NewLC(); CLiwDefaultMap* datamap = CLiwDefaultMap::NewLC(); - pdatamap->InsertL( KPublisherId, TLiwVariant( KPubId )); - pdatamap->InsertL( KContentType, TLiwVariant( aContentType )); - pdatamap->InsertL( KContentId, TLiwVariant( aContentId )); + pdatamap->InsertL( KPublisherId, TLiwVariant( KPubId ) ); + pdatamap->InsertL( KContentType, TLiwVariant( aContentType ) ); + pdatamap->InsertL( KContentId, TLiwVariant( aContentId ) ); - datamap->InsertL(aKey, TLiwVariant(iconIds)); + datamap->InsertL( aKey, TLiwVariant(iconIds) ); pdatamap->InsertL( KDataMap, TLiwVariant(datamap) ); - TLiwGenericParam item( KItem, TLiwVariant( pdatamap )); + TLiwGenericParam item( KItem, TLiwVariant( pdatamap ) ); inparam->AppendL( item ); // Publish icon ( or remove it from widget when no id provided ) if ( aBitmapId == KNullIcon ) { - iMsgInterface->ExecuteCmdL( KDelete, *inparam, *outparam); + iMsgInterface->ExecuteCmdL( KDelete, *inparam, *outparam ); } else { - iMsgInterface->ExecuteCmdL( KAdd, *inparam, *outparam); + iMsgInterface->ExecuteCmdL( KAdd, *inparam, *outparam ); } CleanupStack::PopAndDestroy( datamap );