diff -r 000000000000 -r 8466d47a6819 emailservices/emailframework/commonlib/inc/cmailmessageext.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/emailframework/commonlib/inc/cmailmessageext.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,58 @@ +/* +* 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: Message extension interface +* +*/ + +#ifndef CMAILMESSAGEEXT_H +#define CMAILMESSAGEEXT_H + +#include "cemailextensionbase.h" + +// interface UID value passed to CFSMailMessageBase::ExtensionL +const TUid KEmailMessageExtensionUid = { 0x2001E288 }; + +/** + * Message extension interface + * + * @code + * // below message is of type CFSMailMessageBase (or its derived type) + * CEmailExtension* extension = message->ExtensionL( KEmailMessageExtensionUid ); + * CMailMessageExtension* mExt = reinterpret_cast( extension ); + * mExt->CommitL(); + * // Release extension when not needed any more. + * message->ReleaseExtension( extension ); + * @endcode + * + */ +class CMailMessageExtension : public CEmailExtension +{ +public: + + /** + * Commits changes of the message to store. + * + */ + virtual void CommitL() = 0; + +protected: + inline CMailMessageExtension(); +}; + +inline CMailMessageExtension::CMailMessageExtension() : + CEmailExtension( KEmailMessageExtensionUid ) + { + } + +#endif // CMAILMESSAGEEXT_H