emailservices/emailstore/base_plugin/inc/baseplugincommonutils.h
changeset 56 15bc1d5d6267
parent 0 8466d47a6819
--- a/emailservices/emailstore/base_plugin/inc/baseplugincommonutils.h	Fri Jul 09 12:17:13 2010 +0300
+++ b/emailservices/emailstore/base_plugin/inc/baseplugincommonutils.h	Fri Jul 23 19:09:50 2010 +0300
@@ -49,4 +49,29 @@
     CleanupResetAndDestroyClose<T>::PushL(aRef);
     }
 
+/**
+* Cleanup support for owning pointer arrays
+*/
+
+template<class T>
+class CleanupResetAndDestroy
+{
+private:
+    inline static void ResetAndDestroy( TAny *aPtr )
+    {
+    reinterpret_cast<T*>( aPtr )->ResetAndDestroy();
+    };
+public:
+    inline static void PushL( T& aItem )
+    { 
+    TCleanupItem item( &CleanupResetAndDestroy::ResetAndDestroy, &aItem );
+    CleanupStack::PushL( item );
+    };
+} ;
+
+template <class T>
+inline void CleanupResetAndDestroyPushL( T& aRef )
+    {
+    CleanupResetAndDestroy<T>::PushL( aRef );
+    }
 #endif