--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgurlhandler/test/ui/inc/TestMsgUrlHandlerApp.H Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,282 @@
+// 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 classes
+// CTestMsgUrlHandlerApplication, CTestMsgUrlHandlerAppView,
+// CTestMsgUrlHandlerAppUi, CTestMsgUrlHandlerDocument.
+//
+//
+
+/**
+ @file
+*/
+
+#ifndef __TESTMSGURLHANDLERAPP__H
+#define __TESTMSGURLHANDLERAPP__H
+
+#include <coeccntx.h>
+
+#include <eikenv.h>
+#include <eikappui.h>
+#include <eikapp.h>
+#include <eikdoc.h>
+#include <techview/eikmenup.h>
+
+#include <techview/eikon.hrh>
+#include <msvstd.h>
+#include <msvapi.h>
+
+#include <testhandler.rsg>
+#include "TestMsgUrlHandler.hrh"
+
+
+/**
+ @class
+ Comments : Defines the application's UID and manufactures a new,
+ blank document.
+ @since 6.0
+*/
+class CTestMsgUrlHandlerApplication : public CEikApplication
+ {
+private:
+
+/**
+ @fn CreateDocumentL()
+ Intended Usage : This function is inherited from class CApaApplication.
+ This function is called by the UI framework at
+ application start-up. It creates an instance of the
+ document class.
+ @since 6.0
+ @return CApaDocument
+ */
+ CApaDocument* CreateDocumentL();
+
+/**
+ @fn AppDllUid() const
+ Intended Usage : The function is called by the UI framework to ask for the
+ application's UID.
+ @since 6.0
+ @return TUid
+ */
+ TUid AppDllUid() const;
+ };
+
+
+/**
+ @class
+ Comments : This class displays the application data on screen and allows
+ user interaction.
+ @since 6.0
+*/
+class CTestMsgUrlHandlerAppView : public CCoeControl
+ {
+public:
+
+/**
+ @fn NewL(const TRect& aRect)
+ Intended Usage : Static factory constructor. Uses two phase construction and
+ leaves nothing on the CleanupStack.
+ @since 6.0
+ @return A pointer to the newly created CTestMsgUrlHandlerAppView object.
+ @pre None
+ @post A fully constructed and initialised CTestMsgUrlHandlerAppView object.
+ */
+ static CTestMsgUrlHandlerAppView* NewL(const TRect& aRect);
+
+private:
+
+/**
+ @fn CTestMsgUrlHandlerAppView()
+ Intended Usage : Constructor. First phase of two-phase construction method. Does
+ non-allocating construction.
+ @since 6.0
+ */
+ CTestMsgUrlHandlerAppView();
+
+/**
+ @fn ~CTestMsgUrlHandlerAppView()
+ Intended Usage : Destructor.
+ @since 6.0
+ */
+ ~CTestMsgUrlHandlerAppView();
+
+/**
+ @fn ConstructL(const TRect& aRect)
+ Intended Usage : Second phase of two-phase construction method. Does any
+ allocations required to fully construct the object.
+ @since 6.0
+ @pre First phase of construction is complete
+ @post The object is fully constructed and initialised.
+ */
+ void ConstructL(const TRect& aRect);
+
+/**
+ @fn Draw(const TRect&) const
+ Intended Usage : This function is inherited from CCoeControl.
+ Draws the view - consists of a simple outline rectangle
+ with text in the middle using the Normal font
+ supplied by the UI.
+ @since 6.0
+ @param aRect
+ @return CTestMsgUrlHandlerAppView
+ @pre None
+ @post The view is drawn
+ */
+ void Draw(const TRect& /*aRect*/) const;
+
+private:
+ HBufC* iText;
+ };
+
+
+/**
+ @class
+ Comments : This class handles command generated by the menu items, toolbar
+ buttons and shortcut keys. It delegates drawing and screen based
+ interaction to the app view and other controls.
+ @since 6.0
+*/
+class CTestMsgUrlHandlerAppUi : public CEikAppUi
+ {
+
+public:
+
+/**
+ @fn CTestMsgUrlHandlerAppUi()
+ Intended Usage : Constructor. First phase of two-phase construction method. Does
+ non-allocating construction.
+ @since 6.0
+ */
+ CTestMsgUrlHandlerAppUi();
+
+private:
+
+/**
+ @fn ConstructL()
+ Intended Usage : Second phase of two-phase construction method. Does any
+ allocations required to fully construct the object.
+
+ This function is called by Eikon hence no NewL().
+
+ Starts the Idle time active object which calls the callback
+ function. This starts the background task.
+ This background task is encapsulated in the callback function.
+ @since 6.0
+ @pre First phase of construction is complete
+ @post The object is fully constructed and initialised.
+ The background task has started.
+ */
+ void ConstructL();
+
+/**
+ @fn ~CTestMsgUrlHandlerAppUi()
+ Intended Usage : Destructor.
+ @since 6.0
+ */
+ ~CTestMsgUrlHandlerAppUi();
+
+/**
+ @fn HandleCommandL(TInt aCommand)
+ Intended Usage : Closes the application from the menu item and the shortcut
+ key Ctrl-e.
+ @since 6.0
+ @param aCommand
+ @return void
+ @pre None
+ @post Application is closed if the menu item or the shortcut key is used.
+ */
+ void HandleCommandL(TInt aCommand);
+
+/**
+ @fn LaunchMailEditorL(const TDesC& aUrl)
+ Intended Usage : Parses the url (i.e the command line) and
+ launches the correct mail editor.
+ Error Condition : This function leaves with KErrNotFound if the messaging
+ scheme is not found.
+ @since 6.0
+ @param aUrl An url descriptor
+ @return void
+ @pre None
+ @post Parses the url and launches the correct mail editor.
+ */
+ void LaunchMailEditorL(const TDesC& aUrl);
+
+private:
+ CCoeControl* iAppView;
+ };
+
+
+/**
+ @class
+ Comments : Launches the App UI
+ @since 6.0
+*/
+class CTestMsgUrlHandlerDocument : public CEikDocument
+ {
+public:
+
+/**
+ @fn NewL(CEikApplication& aApp)
+ Intended Usage : Static factory constructor. Uses two phase construction and
+ leaves nothing on the CleanupStack.
+ @since 6.0
+ @return A pointer to the newly created CTestMsgUrlHandlerDocument object.
+ @pre None
+ @post A fully constructed and initialised CTestMsgUrlHandlerDocument object.
+ */
+ static CTestMsgUrlHandlerDocument* NewL(CEikApplication& aApp);
+
+private:
+
+/**
+ @fn CTestMsgUrlHandlerDocument(CEikApplication& aApp)
+ Intended Usage : Constructor. First phase of two-phase construction method. Does
+ non-allocating construction.
+ @since 6.0
+ */
+ CTestMsgUrlHandlerDocument(CEikApplication& aApp);
+
+/**
+ @fn ConstructL()
+ Intended Usage : Second phase of two-phase construction method. Does any
+ allocations required to fully construct the object.
+ @since 6.0
+ @pre First phase of construction is complete
+ @post The object is fully constructed and initialised.
+ */
+ void ConstructL();
+
+/**
+ @fn CEikAppUi* CreateAppUiL()
+ Intended Usage : This function is inherited from CEikDocument.
+ Launches the App UI.
+ @since 6.0
+ @return CEikAppUi*
+ @pre App is created
+ @post App UI is launched.
+ */
+ CEikAppUi* CreateAppUiL();
+
+ void CreateSMSServiceL();
+ void CreateEmailServiceL();
+ void ServiceIdL(TUid aMtm, TMsvId& rFirstId);
+ };
+
+class CDummyObserver : public CBase, public MMsvSessionObserver
+ {
+public:
+ void HandleSessionEventL(TMsvSessionEvent, TAny*, TAny*, TAny*) {};
+ };
+
+
+#endif