--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgurlhandler/urlhandler/inc/MSGBASE.H Wed Nov 03 22:41:46 2010 +0530
@@ -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 <e32base.h>
+#include <msvstd.h>
+
+
+// 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:
+ <scheme:<scheme specific part>>
+
+ @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