diff -r 000000000000 -r 72b543305e3a messagingappbase/schemeplugin/inc/BaseHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/schemeplugin/inc/BaseHandler.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,153 @@ +/* +* Copyright (c) 2004 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: +* Declaration of class CBaseHandler. +* +*/ + + + +#ifndef BASE_HANDLER_H +#define BASE_HANDLER_H + +// INCLUDES + +#include +#include + +// FORWARD DECLARATION +class CPtrC16Array; +class CMessageData; + +// CONSTS + +// CLASS DECLARATION +enum TSchemePluginPanic + { + EUnrecognisedState = 1 + }; + +/** +* Scheme Handler IF definition class +* @since Series60_2.6 +*/ +class CBaseHandler : public CSchemeHandler + { + public: + + enum TRecipientTypes + { + KToRecipient, + KCcRecipient + }; + + public: // From base class + + /** + * Url Handler with embedding + * @param - + */ + virtual void HandleUrlEmbeddedL() = 0; + + /** + * Url Handler without embedding + * @param - + */ + virtual void HandleUrlStandaloneL() = 0; + + /** + * Observer + * @param - aSchemeDoc + */ + void Observer( MAknServerAppExitObserver* aSchemeDoc ); + + protected: + + /** + * Constructor. + */ + CBaseHandler(); + + /** + * Destructor. + */ + virtual ~CBaseHandler(); + + /** + * Second phase constructor. Leaves on failure. + * BaseConstructL must be called from inherited ConstructL + * preferably before do anything + * @param - aUrl + */ + void BaseConstructL( const TDesC& aUrl ); + + protected: // New functions + + /** + * Separates items from string to array. + * + * @param aSeparator Separator mark that separates items. + * @param aString String to separate + * @param aArray Result array + */ + void SeparateItemsToArrayL( + const TDesC& aSeparator, + const TDesC& aString, + CPtrC16Array& aArray ) const; + + /** + * Separates items from string to array of messageData. + * + * @param aSeparator Separator mark that separates items. + * @param aString String to separate + * @param aMessageData Object where items are appended. + */ + void SeparateAndAppendAddressL( + const TDesC& aSeparator, + const TDesC& aString, + CMessageData& aMessageData, + const TInt aRecipientType = KToRecipient ) const; + + /** + * Notify client on completion of editing of an embedded document. + * @param. + */ + void NotifyClient(); + + /** + * Returns the minimum value of the array. + * @param. + * @return + */ + TInt Minimum( RArray& aArray ) const; + + /** + * Launch SchemeApp passing Generic Params List + * @param - + * @return - + */ + void LaunchSchemeAppWithCommandLineL(); + + + protected: // Data + + MAknServerAppExitObserver* iSchemeDoc; ///< Used. + + protected: // Data + + // Results of parsing + HBufC* iParsedUrl; ///< Owned. + }; + +#endif /* def BASE_HANDLER_H */