idlefw/plugins/pslnactiveidleplugin/inc/gsactiveidleplugin.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:54:17 +0200
changeset 0 79c6a41cd166
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2005-2007 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:  Psln Active Idle settings plugin.
*
*/


#ifndef C_GSACTIVEIDLEPLUGIN_H
#define C_GSACTIVEIDLEPLUGIN_H

#include <gsplugininterface.h>
#include <coneresloader.h>

class CGSActiveIdlePluginContainer;
class CPslnFWPluginInterface;
class CPslnFWPluginHandler;


/**
 *  CGSActiveIdlePlugin view class for Psln Active Idle settings.
 *  @since S60 3.2
 *
 */
class CGSActiveIdlePlugin : public CGSPluginInterface
{

public: // Constructors and destructor

    /**
     * Symbian OS two-phased constructor
     *
     * @param aInitParams param not used.
     * @return GS connection view.
     */
    static CGSActiveIdlePlugin* NewL(TAny* aInitParams);

    /**
     * Destructor
     */
    ~CGSActiveIdlePlugin();

// From CGSPluginInterface

    /**
     * @see CGSPluginInterface header file.
     */
    void GetCaptionL(TDes& aCaption) const;

    /**
     * @see CGSPluginInterface header file.
     */
    TInt PluginProviderCategory() const;

    /**
     * @see CGSPluginInterface header file.
     */
    TBool Visible() const;

// from base classes

    /**
     * Returns view id.
     * @return TUid
     */
    TUid Id() const;

    /**
     * Handles commands.
     * @param aCommand Command to be handled.
     *
     */
    void HandleCommandL(TInt aCommand);

protected: // From CAknView

    /**
     * @see CAknView.
     */
    void DoActivateL(
        const TVwsViewId& aPrevViewId,
        TUid aCustomMessageId,
        const TDesC8& aCustomMessage);

    /**
     * @see CAknView.
     */
    void DoDeactivate();

// Construction

    /**
     * C++ default constructor.
     */
    CGSActiveIdlePlugin();

    /**
     * Symbian OS default constructor.
     *
     */
    void ConstructL();

private: // data

    /// Resource loader.
    RConeResourceLoader             iResourceLoader;

    /// Container. Owned.
    CGSActiveIdlePluginContainer*   iContainer;

    /// Previous view id.
    TVwsViewId                      iPrevViewId;

    /// Plugin loader. Owned.
    CPslnFWPluginHandler*           iPluginLoader;

};

#endif // C_GSACTIVEIDLEPLUGIN_H

// End of File.