mmshplugins/mmshaiwplugin/tsrc/ut_aiwplugin/inc/ut_musaiwprovider.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:12:07 +0300
branchRCL_3
changeset 22 73a1feb507fb
parent 0 f0cf47e981f9
child 23 bc78a40cd63c
permissions -rw-r--r--
Revision: 201032 Kit: 201035

/*
* 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:  Main plugin class
*
*/


#ifndef MUSAIWPROVIDERTEST_H
#define MUSAIWPROVIDERTEST_H


#include <digia/eunit/ceunittestsuiteclass.h>
#include <aiwcommon.h>
#include <eikmobs.h>

class CMusAiwProvider;
class CAiwMenuPane;
class CEikMenuPane;

/**
 * Main plugin class
 *
 * @lib ut_musAiwProvider.dll
 */
class UT_CMusAiwProvider: public CEUnitTestSuiteClass, 
                          public MEikMenuObserver,
                          public MAiwNotifyCallback
    {
    public:

        /**
         * Symbian two-phase constructor.
         * @return New UT_CMusAiwProvider instance
         */
        static UT_CMusAiwProvider* NewL();

        static UT_CMusAiwProvider* NewLC();
        
        /**
         * C++ destructor.
         */
        ~UT_CMusAiwProvider();


    private: // constructors

        /**
         * C++ constructor.
         */
        UT_CMusAiwProvider();

        /**
         * Symbian second-phase constructor.
         */
        void ConstructL();


    public: // Test case setup and teardown

        void SetupL();

        void Teardown();


    public: // from MEikMenuObserver

        void SetEmphasis( CCoeControl* aMenuControl,TBool aEmphasis );

        void ProcessCommandL( TInt aCommandId );


    public: // from MAiwNotifyCallback

        TInt HandleNotifyL( TInt aCmdId,
                            TInt aEventId,
                            CAiwGenericParamList& aEventParamList,
                            const CAiwGenericParamList& aInParamList);


    public: // Tester functions

        void UT_CMusAiwProvider_InitialiseLL();
        void UT_CMusAiwProvider_HandleServiceCmdLL();
        void UT_CMusAiwProvider_InitializeMenuPaneLL();
        void UT_CMusAiwProvider_InitializeMenuPaneL2L();
        void UT_CMusAiwProvider_InitializeMenuPaneL3L();
        void UT_CMusAiwProvider_InitializeMenuPaneL4L();
        void UT_CMusAiwProvider_InitializeMenuPaneL5L();
        void UT_CMusAiwProvider_InitializeMenuPaneL6L();
        void UT_CMusAiwProvider_InitializeMenuPaneLFastModeL();
        void UT_CMusAiwProvider_InitializeMenuPaneLFastMode2L();
        
        void UT_CMusAiwProvider_HandleMenuCmdLL();
        void UT_CMusAiwProvider_HandleMenuCmdLFastModeL();
        void UT_CMusAiwProvider_ApplicationRunningLL();
        void UT_CMusAiwProvider_ShowErrorNoteLL();
        void UT_CMusAiwProvider_ErrorNoteTextLCL();
        void UT_CMusAiwProvider_ErrorNoteText8LL();
        void UT_ImplementationGroupProxyL(); 
        void UT_HiddenFromFastSwapL();


    public: // Helpers
        
        CAiwMenuPane* CreateAiwMenuPaneLC( CEikMenuPane** aEikPane );
        
    private: // data

        CMusAiwProvider* iProvider;
        
        EUNIT_DECLARE_TEST_TABLE; 

    };

#endif // MUSAIWPROVIDERTEST_H