--- a/msg_plat/conversation_services_utilities_api/inc/ccsdefs.h Wed Jun 23 18:09:17 2010 +0300
+++ b/msg_plat/conversation_services_utilities_api/inc/ccsdefs.h Tue Jul 06 14:12:40 2010 +0300
@@ -81,6 +81,7 @@
const TUint32 KConversationCachingEventError = 0x00000100;
const TUint32 KConversationEventListRefresh = 0x00000200;
const TUint32 KConversationEventRefresh = 0x00000400;
+const TUint32 KConversationListEventPartialDelete = 0x00000800;
//-----------------------------------------------------------------------------
// Conversation Server caching status codes
@@ -120,7 +121,9 @@
EGetConversationId,
EGetConversationIdFromAddress,
EGetConversationFromMessageId,
- EUserMarkReadConversation
+ EUserMarkReadConversation,
+ EGetConversationFromConversationId,
+ EGetConversationFromConversationIdComplete
};
//-----------------------------------------------------------------------------
@@ -137,6 +140,7 @@
EModifyConversationListEvent,
EAddConversationEvent,
EDeleteConversationEvent,
+ EPartialDeleteConversationListEvent,
EModifyConversationEvent,
ECachingStartedEvent,
ECachingCompletedEvent,
@@ -316,6 +320,63 @@
EPreviewMsgProcessed = 2
};
+/**
+@publishedAll
+@released
+
+Template class CleanupResetAndDestroy to clean up the array
+of implementation information from the cleanup stack.
+*/
+
+template <class T>
+class CleanupResetAndDestroy
+ {
+public:
+ /**
+ Puts an item on the cleanup stack.
+
+ @param aRef
+ The implementation information to be put on the cleanup stack.
+ */
+ inline static void PushL(T& aRef);
+ inline static void PushL(T* aPointer);
+private:
+ static void ResetAndDestroy(TAny *aPtr);
+ static void ResetAndDestroyDelete(TAny *aPtr);
+ };
+template <class T>
+inline void CleanupResetAndDestroyPushL(T& aRef);
+
+template <class T>
+inline void CleanupResetAndDestroyPushL(T* aPointer);
+
+template <class T>
+inline void CleanupResetAndDestroy<T>::PushL(T& aRef)
+ {CleanupStack::PushL(TCleanupItem(&ResetAndDestroy,&aRef));}
+
+template <class T>
+inline void CleanupResetAndDestroy<T>::PushL(T* aPointer)
+ {CleanupStack::PushL(TCleanupItem(&ResetAndDestroyDelete,aPointer));}
+
+template <class T>
+void CleanupResetAndDestroy<T>::ResetAndDestroy(TAny *aPtr)
+ {(STATIC_CAST(T*,aPtr))->ResetAndDestroy();}
+
+template <class T>
+void CleanupResetAndDestroy<T>::ResetAndDestroyDelete(TAny *aPtr)
+ {
+ (STATIC_CAST(T*,aPtr))->ResetAndDestroy();
+ delete (STATIC_CAST(T*,aPtr));
+ }
+
+template <class T>
+inline void CleanupResetAndDestroyPushL(T& aRef)
+ {CleanupResetAndDestroy<T>::PushL(aRef);}
+
+template <class T>
+inline void CleanupResetAndDestroyPushL(T* aPointer)
+ {CleanupResetAndDestroy<T>::PushL(aPointer);}
+
#endif // __C_CSSERVER_DEFS_H__
// End of file