diff -r 000000000000 -r f0f2b8682603 memana/analyzetoolclient/dynamicmemoryhook/src/analyzetoolmemoryallocator.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memana/analyzetoolclient/dynamicmemoryhook/src/analyzetoolmemoryallocator.cpp Thu Feb 11 15:51:35 2010 +0200 @@ -0,0 +1,71 @@ +/* +* 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: Definitions for the class RAnalyzeToolMemoryAllocator. +* +*/ + + +#include "analyzetoolmemoryallocator.h" +#include "analyzetoolpanics.pan" +#include "atlog.h" + +// ----------------------------------------------------------------------------- +// RAnalyzeToolMemoryAllocator::RAnalyzeToolMemoryAllocator() +// C++ default constructor. +// ----------------------------------------------------------------------------- +// +RAnalyzeToolMemoryAllocator::RAnalyzeToolMemoryAllocator( TBool aNotFirst ) : + RAllocator(), + iNotFirst( aNotFirst )/*, + iStorageServerOpen( EFalse )*/ + { + LOGSTR1( "ATMH RAnalyzeToolMemoryAllocator::RAnalyzeToolMemoryAllocator()" ); + + // Acquire the original allocator + iAllocator = &User::Allocator(); + + // Set memory model zero + iMemoryModel = 0; + } + +// ----------------------------------------------------------------------------- +// RAnalyzeToolMemoryAllocator::~RAnalyzeToolMemoryAllocator() +// Destructor. +// ----------------------------------------------------------------------------- +// +RAnalyzeToolMemoryAllocator::~RAnalyzeToolMemoryAllocator() + { + LOGSTR1( "ATMH RAnalyzeToolMemoryAllocator::~RAnalyzeToolMemoryAllocator()" ); + + // Call switching orinigal allocator back. + // Just in case, if uninstall was not called. + SwitchOriginalAllocator(); + } + +// ----------------------------------------------------------------------------- +// RAnalyzeToolMemoryAllocator::SwitchOriginalAllocator() +// Switches original allocator in use if not already. +// ----------------------------------------------------------------------------- +// +void RAnalyzeToolMemoryAllocator::SwitchOriginalAllocator() + { + LOGSTR1( "ATMH RAnalyzeToolMemoryAllocator::SwitchOriginalAllocator()" ); + + if ( iAllocator != &User::Allocator() ) + { + User::SwitchAllocator( iAllocator ); + } + } + +// End of File