diff -r 000000000000 -r 8e480a14352b messagingfw/msgurlhandler/urlhandler/inc/MSGBASE.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/msgurlhandler/urlhandler/inc/MSGBASE.H Mon Jan 18 20:36:02 2010 +0200 @@ -0,0 +1,165 @@ +// Copyright (c) 2001-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: +// This file contains the API definition for the class CMsgSchemeHandlerBase. +// This is an abstract base class which parses a descriptor url into the +// scheme specific components and launches the correct mail editor. +// +// + +/** + @file +*/ + +#ifndef __MSGBASE_H__ +#define __MSGBASE_H__ + +// System includes +// +#include +#include + + +// Forward declaration +// +class CRichText; +class CParaFormatLayer; +class CCharFormatLayer; + + +/** + @class + Dependencies : CBase, MSendAsObserver, CParaFormatLayer, CCharFormatLayer, CRichText, + MturUtils + Comments : This is an abstract base class which parses a descriptor url into the + scheme specific components and launches the correct mail editor. + There are 2 messaging schemes; mailto and sms. + + Format of a url is: + > + + @since 7.0 +*/ + +class CMsgSchemeHandlerBase : public CBase + +/** +@internalComponent +@released +*/ + { + +public: // Methods + +/** + @fn ~CMsgSchemeHandlerBase() + Intended Usage : Destructor. + @since 7.0 + */ + virtual ~CMsgSchemeHandlerBase(); + +/** + @fn ParseUrlAndSendL(const TDesC& aUrl) + Intended Usage : Parses a descriptor url into the scheme specific components + and launches the correct mail editor. + @since 7.0 + @param aUrl A descriptor with the messaging url. + @pre None + @post The messaging url descriptor has been parsed, field values are set + and the correct mail editor has been launched. + */ + void ParseUrlAndSendL(const TDesC& aUrl); + +private: // Methods + + +/** + @fn ParseUrlL(const TDesC& aUrl) = 0 + Intended Usage : Pure virtual function that parses a descriptor url into + the scheme specific components. + @since 7.0 + @param aUrl A descriptor with the messaging url. + @pre None + @post The messaging url descriptor has been parsed and field values are set. + */ + virtual void ParseUrlL(const TDesC& aUrl) = 0; + +/** + @fn SendL() = 0 + Intended Usage : Pure virtual function that creates the message + and launches the mail editor. + @since 7.0 + @pre None + @post Message has been created and the editor has been launched. + */ + virtual void SendL() = 0; + +protected: // Methods + +/** + @fn ConstructL() + Intended Usage : Second phase of two-phase construction method. Does any + allocations required to fully construct the object. + @since 7.0 + @leave KErrNoMemory. + @pre First phase of construction is complete + @post The object is fully constructed and initialised. + */ + void ConstructL(); + +/** + @fn CMsgSchemeHandlerBase() + Intended Usage : Constructor. First phase of two-phase construction method. Does + non-allocating construction. + @since 7.0 + */ + CMsgSchemeHandlerBase(); + +/** + @fn LaunchEditorL(const TMsvId& aId) + Intended Usage : Launches the editor. + @since 7.0 + @param aId Id of the message to be launched. + @pre None + @post Editor has been launched + */ + void LaunchEditorL(const TMsvId& aId); + +/** + @fn GetSchemeSpecificPartL(const TDesC& aUrl, TPtrC& aSchemePart) + Intended Usage : Sets the scheme specific part of a url. + Error Condition : The function leaves with KErrNotFound if the scheme is not + found. + @since 7.0 + @param aUrl A url descriptor + @param aSchemePart This is an output argument that is set to the + scheme specific part. + @pre None + @post The scheme specific part of the url is returned. + */ + void GetSchemeSpecificPartL(const TDesC& aUrl, TPtrC& aSchemePart); + +protected: // Attributes + + /** The rich text that contains the body of the message */ + CRichText* iRtBody; + +private: // Attributes + + /** Used to create the rich text */ + CParaFormatLayer* iPfl; + /** Used to create the rich text */ + CCharFormatLayer* iCfl; + }; + +#endif