homescreensrv_plat/idlefw_api/inc/aiuiidleintegration.h
author Christian Morlok <symbian.org@christianmorlok.de>
Fri, 02 Apr 2010 20:17:48 +0200
branchv5backport
changeset 53 282cea3dd14c
parent 0 79c6a41cd166
permissions -rw-r--r--
updated dependencies; now everything compiles with winscw_udeb without error

/*
* Copyright (c) 2006 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:  Window server plug-in manager.
*
*/


#ifndef C_AIUIIDLEINTEGRATION_H
#define C_AIUIIDLEINTEGRATION_H

#include <e32base.h>

class CCoeControl;
class TWsEvent;
class CEikonEnv;
class TVwsViewId;
class CAknKeySoundSystem;
class MAiFwEventHandler;

struct TAiIdleKeySoundConfig
    {
    /**
     * Default constructor. Resets all config fields to null values.
     */
    TAiIdleKeySoundConfig() : iKeySounds(NULL), iContextResId(0) { }

    /// Pointer to AVKON Key sound system
    CAknKeySoundSystem* iKeySounds;

    /// Key sound context resource id
    TInt iContextResId;
    };

/**
 * Handles Idle integration related tasks and events for Active Idle main UI 
 * Controller.
 */
class CAiUiIdleIntegration : public CBase
    {

public:

    IMPORT_C static CAiUiIdleIntegration* NewL(
        CEikonEnv& aEikEnv,
    	const TAiIdleKeySoundConfig& aKeySoundConfig,
        MAiFwEventHandler* aAiFwEventHandler  );

    ~CAiUiIdleIntegration() { }
    
	/**
	 * Tries to bring Active Idle UI to the foreground.
	 */
    virtual void ActivateUI() = 0;

    /**
     * Call from entry to Main UI Controller AppUi HandleWsEventL.
     */
    virtual void HandleWsEventL( const TWsEvent& aEvent,
    								CCoeControl* aDestination ) = 0;
    };

#endif // C_AIUIIDLEINTEGRATION_H