diff -r 185201be11b0 -r 516af714ebb4 memspy/Engine/Source/SysMemTracker/MemSpyEngineHelperSysMemTrackerEntryBitmap.cpp --- a/memspy/Engine/Source/SysMemTracker/MemSpyEngineHelperSysMemTrackerEntryBitmap.cpp Thu Sep 02 22:05:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ -/* -* Copyright (c) 2009 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" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#include "MemSpyEngineHelperSysMemTrackerEntryBitmap.h" - -// System includes -#include -#include - -// Driver includes -#include - -// User includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "MemSpyEngineHelperSysMemTrackerImp.h" -#include -#include - - -CMemSpyEngineHelperSysMemTrackerEntryBitmap::CMemSpyEngineHelperSysMemTrackerEntryBitmap( CMemSpyEngineHelperSysMemTrackerImp& aTracker ) -: CMemSpyEngineHelperSysMemTrackerEntry( aTracker, EMemSpyEngineSysMemTrackerTypeOpenFile ) - { - } - - -CMemSpyEngineHelperSysMemTrackerEntryBitmap::~CMemSpyEngineHelperSysMemTrackerEntryBitmap() - { - delete iInfo; - } - - -void CMemSpyEngineHelperSysMemTrackerEntryBitmap::ConstructL( TInt aHandle ) - { - iInfo = new(ELeave) TMemSpyEngineFBServBitmapInfo(); - CMemSpyEngineHelperFbServ::GetBitmapInfoL( aHandle, *iInfo ); - } - - -CMemSpyEngineHelperSysMemTrackerEntryBitmap* CMemSpyEngineHelperSysMemTrackerEntryBitmap::NewLC( CMemSpyEngineHelperSysMemTrackerImp& aTracker, TInt aHandle ) - { - CMemSpyEngineHelperSysMemTrackerEntryBitmap* self = new(ELeave) CMemSpyEngineHelperSysMemTrackerEntryBitmap( aTracker ); - CleanupStack::PushL( self ); - self->ConstructL( aHandle ); - return self; - } - - -TUint64 CMemSpyEngineHelperSysMemTrackerEntryBitmap::Key() const - { - return TUint64( iInfo->iHandle ); - } - - -void CMemSpyEngineHelperSysMemTrackerEntryBitmap::CreateChangeDescriptorL( CMemSpyEngineHelperSysMemTrackerCycle& aCycle ) - { - CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap* changeDescriptor = CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::NewLC( Attributes(), *iInfo ); - aCycle.AddAndPopL( changeDescriptor ); - } - - -void CMemSpyEngineHelperSysMemTrackerEntryBitmap::UpdateCycleStatistics( CMemSpyEngineHelperSysMemTrackerCycle& /*aCycle*/ ) - { - // Doesn't participate in direct memory usage and indirect usage cannot really be measured. - } - - - - - - - - - - - - - - -CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap( TUint8 aAttribs ) -: CMemSpyEngineHelperSysMemTrackerCycleChange( aAttribs ) - { - } - - -CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::~CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap() - { - delete iInfo; - delete iBitmap; - } - - -void CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::ConstructL( const TMemSpyEngineFBServBitmapInfo& aInfo ) - { - BaseConstructL(); - - iInfo = new(ELeave) TMemSpyEngineFBServBitmapInfo(); - *iInfo = aInfo; - - iBitmap = new(ELeave) CFbsBitmap(); - const TInt err = iBitmap->Duplicate( aInfo.iHandle ); - if ( err != KErrNone ) - { - RDebug::Printf( "CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::ConstructL() - aInfo.iHandle: 0x%08x, dupe Err: %d", aInfo.iHandle, err ); - delete iBitmap; - iBitmap = NULL; - } - } - - -CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap* CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::NewLC( TUint8 aAttribs, const TMemSpyEngineFBServBitmapInfo& aInfo ) - { - CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap* self = new(ELeave) CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap( aAttribs ); - CleanupStack::PushL( self ); - self->ConstructL( aInfo ); - return self; - } - - -TMemSpyEngineSysMemTrackerType CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::Type() const - { - return EMemSpyEngineSysMemTrackerTypeBitmap; - } - - -void CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputHeaderL( CMemSpyEngineOutputSink& aSink, CMemSpyEngineHelperSysMemTrackerCycle& /*aCycle*/ ) - { - _LIT( KHeaderLine, "Type, Handle, Dimensions [W x H], BPP, Disp. Mode, Color, Comp. Type, Size (Bytes), In Rom, Is Large, Is Mono, Is Compressed in Ram, Attribs"); - aSink.OutputLineL( KHeaderLine ); - } - - -void CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputContentL( CMemSpyEngineOutputSink& aSink, CMemSpyEngineHelperSysMemTrackerCycle& /*aCycle*/ ) - { - _LIT( KFormat, "%S,0x%08x,[%05d x %05d],%d,%d,%d,%d,%d,%d,%d,%d,%d,%S" ); - // - TMemSpySWMTTypeName type;; - FormatType( type ); - // - TBuf<20> attribs; - FormatAttributes( attribs ); - - // Now output line - aSink.OutputLineFormattedL( KFormat, - &type, - iInfo->iHandle, - iInfo->iSizeInPixels.iWidth, - iInfo->iSizeInPixels.iHeight, - iInfo->iBitsPerPixel, - iInfo->iDisplayMode, - iInfo->iColor, - iInfo->iCompressionType, - iInfo->iSizeInBytes, - ( iInfo->iFlags & TMemSpyEngineFBServBitmapInfo::EFlagsIsRomBitmap ) ? 1 : 0, - ( iInfo->iFlags & TMemSpyEngineFBServBitmapInfo::EFlagsIsMonochrome ) ? 1 : 0, - ( iInfo->iFlags & TMemSpyEngineFBServBitmapInfo::EFlagsIsLarge ) ? 1 : 0, - ( iInfo->iFlags & TMemSpyEngineFBServBitmapInfo::EFlagsIsCompressedInRam ) ? 1 : 0, - &attribs - ); - } - - -void CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputDataL( CMemSpyEngineOutputSink& aSink, CMemSpyEngineHelperSysMemTrackerCycle& aCycle ) - { - TRACE( RDebug::Printf( "CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputDataL() - iInfo.iHandle: 0x%08x, iBitmap: 0x%08x, size: %03d x %03d", iInfo->iHandle, iBitmap, iInfo->iSizeInPixels.iWidth, iInfo->iSizeInPixels.iHeight ) ); - if ( iBitmap && iInfo->iSizeInPixels.iWidth > 0 && iInfo->iSizeInPixels.iHeight > 0 ) - { - // Get folder - HBufC* fileName = HBufC::NewLC( KMaxFileName ); - TPtr pFileName( fileName->Des() ); - aCycle.GetDataFolderL( aSink.Engine().FsSession(), pFileName ); - TRACE( RDebug::Print( _L("CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputDataL() - fileName1: [%S]"), fileName ) ); - - // Get file name - CMemSpyEngineFbServBitmap::GetExportableFileNameL( *iInfo, pFileName ); - TRACE( RDebug::Print( _L("CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputDataL() - fileName2: [%S]"), fileName ) ); - - // Remove .bmp extension, since we're actually saving mbms - const TParsePtrC parser( pFileName ); - if ( parser.ExtPresent() ) - { - const TInt extLength = parser.Ext().Length(); - const TInt totalLength = pFileName.Length(); - pFileName.SetLength( totalLength - extLength ); - } - - // Add .MBM - _LIT( KEpocBitmapExtension, ".mbm" ); - pFileName.Append( KEpocBitmapExtension ); - - const TInt err = iBitmap->Save( pFileName ); - if ( err != KErrNone ) - { - RDebug::Print( _L("CMemSpyEngineHelperSysMemTrackerCycleChangeBitmap::OutputDataL() - err: %d, fileName: [%S]"), err, fileName ); - } - - // Clean up - CleanupStack::PopAndDestroy( fileName ); - delete iBitmap; - iBitmap = NULL; - } - } - - -