--- a/emailservices/emailstore/base_plugin/inc/baseplugincommonutils.h Tue Apr 27 16:20:14 2010 +0300
+++ b/emailservices/emailstore/base_plugin/inc/baseplugincommonutils.h Tue May 11 15:57:15 2010 +0300
@@ -49,4 +49,31 @@
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