javamanager/javaappschemeplugin/inc/javaapphandler.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 15 Jul 2010 18:31:06 +0300
branchRCL_3
changeset 23 e5618cc85d74
parent 17 0fd27995241b
permissions -rw-r--r--
Revision: v2.1.32 Kit: 2010127

/*
* 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:  Declaration of Scheme handler interface implementation for
*   "javaapp:" URI scheme
*
*/

#ifndef JAVAAPPHANDLER_H
#define JAVAAPPHANDLER_H

// INCLUDES

#ifdef RD_JAVA_S60_RELEASE_10_1_ONWARDS
#include <SchemeHandler.h>
#else
#include <schemehandler.h>
#endif

#include <e32base.h>


namespace java
{

namespace javaapphandler
{

/**
*  Scheme Handler IF implementation class for javaapp: uri scheme
*
*/
NONSHARABLE_CLASS(CJavaAppHandler) : public CSchemeHandler
{

public:     // Constructors and destructor

    /**
    * Two phased constructor. Leaves on failure.
    * @param - aUrl
    * @return The created object.
    */
    static CJavaAppHandler* NewL(const TDesC& aUrl);

    /**
     * Destructor.
     */
    virtual ~CJavaAppHandler();

private: // Constructors

    /**
    * Constructor.
    */
    CJavaAppHandler();

    /**
    * Second phase constructor. Leaves on failure.
    * @param - aUrl
    */
    void ConstructL(const TDesC& aUrl);

public:

    /**
    * Url Handler with embedding.
    * All applications are always started standalone.
    * @param -
    */
    void HandleUrlEmbeddedL();

    /**
    * Url Handler without embedding
    * @param -
    */
    void HandleUrlStandaloneL();

    /**
    * Observer is not supported. Does nothing.
    * @param - aSchemeDoc
    */
    void Observer(MAknServerAppExitObserver* aSchemeDoc);

protected: // Data

    // Results of parsing
    HBufC* mParsedUrl; ///< Owned.
};

} // javaapphandler

} // java

#endif // JAVAAPPHANDLER_H