diff -r 7b872347d83b -r 6d0b9f605b61 voipplugins/svtmatching/inc/svtcleanup.h --- a/voipplugins/svtmatching/inc/svtcleanup.h Tue Feb 02 00:05:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* -* Copyright (c) 2008 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: Implementation of cleanup for pointer arrays -* -*/ - - -#ifndef SVTMATCHINGCLEANUP_H -#define SVTMATCHINGCLEANUP_H - -#include - -/** - * Template class for cleaning up arrays that have a ResetAndDestroy() function. - * To be used with the CleanupStack. - * - * @lib svtmatching.lib - * @since S60 v5.0 - */ -template -class CleanupResetAndDestroy - { - public: // New functions - - inline static void PushL( T& aRef ); - - private: // New functions - - static void ResetAndDestroy( TAny *aPtr ); - - }; - -// INLINE FUNCTIONS -template -inline void CleanupResetAndDestroy< T >::PushL( T& aRef ) - { - CleanupStack::PushL( TCleanupItem( &ResetAndDestroy, &aRef ) ); - } - -template -void CleanupResetAndDestroy::ResetAndDestroy( TAny *aPtr ) - { - ( static_cast< T* >( aPtr ) )->ResetAndDestroy(); - ( static_cast< T* >( aPtr ) )->Close(); - } - -template -inline void CleanupResetAndDestroyPushL( T& aRef ) - { CleanupResetAndDestroy< T >::PushL( aRef ); } - -#endif // SVTMATCHINGCLEANUP_H