javamanager/javaappschemeplugin/inc/javaapphandler.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 14 May 2010 15:47:24 +0300
changeset 23 98ccebc37403
parent 21 2a9601315dfc
permissions -rw-r--r--
Revision: v2.1.24 Kit: 201019

/*
* 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