javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/swtbrowserstatechangeobserver.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 21 Jun 2010 15:32:50 +0300
branchRCL_3
changeset 21 4376525cdefb
parent 14 04becd199f91
permissions -rw-r--r--
Revision: v2.1.30 Kit: 2010125

/*******************************************************************************
 * 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 SWTBROWSERSTATECHANGEOBSERVER_H
#define SWTBROWSERSTATECHANGEOBSERVER_H


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


class MBrowserApiProvider;


/**
 * CSwtBrowserSpecialLoadObserver
 * Handle state changed events
 * This class implements MBrCtlStateChangeObserver, which registers for state change events.
 * @lib eswt
 */
NONSHARABLE_CLASS(CSwtBrowserStateChangeObserver)
        : public CBase
        , public MBrCtlStateChangeObserver
{
public:
    /**
     * Constructor.
     * @param aContainer The pointer points to the browser API provider.
     * @param aPeer The Java object associated with this C++ object.
     */
    CSwtBrowserStateChangeObserver(MBrowserApiProvider* aApiProvider, TSwtPeer aPeer);

    /**
     * Destructor.
     */
    ~CSwtBrowserStateChangeObserver();

// From MBrCtlStateChangeObserver
    void StateChanged(TBrCtlDefs::TBrCtlState aState, TInt /*aValue*/);

private:
    /**
     * Update the title.
     * @param aApiProvider The browser API provider.
     * @return void.
     */
    void NotifyTitleChangeL(MBrowserApiProvider& aApiProvider);

private:   // data
    /**
     * Pointer to the browser API provider.
     * Not own
     */
    MBrowserApiProvider* iApiProvider;

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

#endif // SWTBROWSERSTATECHANGEOBSERVER_H