javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/swtbrowserlinkresolver.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 09:34:07 +0300
branchRCL_3
changeset 19 71c436fe3ce0
parent 14 04becd199f91
permissions -rw-r--r--
Revision: v2.1.28 Kit: 2010123

/*******************************************************************************
 * Copyright (c) 2007, 2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     Nokia Corporation - S60 implementation
 *******************************************************************************/


#ifndef SWTBROWSERLINKRESOLVER_H
#define SWTBROWSERLINKRESOLVER_H


#include <brctllinkresolver.h>
#include "eswt.h"


class CBrCtlInterface;
class CSwtBrowser;


/**
 * CSwtBrowserLinkResolver
 * Handles resolving embedded links
 * This class is used to provide a callback mechanism for receiving the content of an embedded
 * link or the content of a user-initiated load request.
 * @lib eswt
 */
NONSHARABLE_CLASS(CSwtBrowserLinkResolver)
        : public CBase
        , public MBrCtlLinkResolver
{
public:
    /**
     * Constructor.
     * param aBrowser The pointer points to the browser
     * param aPeer The Java object associated with this C++ object
     */
    CSwtBrowserLinkResolver(CSwtBrowser* aBorwser, TSwtPeer aPeer);

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

// From MBrCtlLinkResolver
    TBool ResolveEmbeddedLinkL(const TDesC& /*aEmbeddedUrl*/, const TDesC& /*aCurrentUrl*/,
                               TBrCtlLoadContentType /*aLoadContentType*/,  MBrCtlLinkContent& /*aEmbeddedLinkContent*/) ;
    TBool ResolveLinkL(const TDesC& aUrl, const TDesC& /*aCurrentUrl*/,
                       MBrCtlLinkContent& /*aBrCtlLinkContent*/) ;
    void CancelAll() ;

private:   // data
    /**
     * Pointer to browser.
     * Not own
     */
    CSwtBrowser *iBrowser;

    /**
     * Java side peer
     * Not own
     */
    TSwtPeer iPeer;
};

#endif // SWTBROWSERLINKRESOLVER_H