diff -r 33a5d2bbf6fc -r 73a1feb507fb tsrc/mustestapp/src/AiwTestAppAppUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/mustestapp/src/AiwTestAppAppUi.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,265 @@ +/* +* Copyright (c) 2002-2005 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: +* +*/ + + +// INCLUDE FILES +#include "aiwtestappappui.h" +#include "aiwtestappcontainer.h" +#include "musmanager.h" +#include +#include "aiwtestapp.hrh" +#include "musresourceproperties.h" +#include "musavainterface.h" +#include "muscallmonitor.h" + +#include +#include +#include + +#include +#include + +#include +#include + +#include + +// ================= MEMBER FUNCTIONS ======================= +// +// ---------------------------------------------------------- +// CAiwTestAppUi::ConstructL() +// +// ---------------------------------------------------------- +// +void CAiwTestAppUi::ConstructL() + { + BaseConstructL(); + + iPlugin = NULL; + + // Creates a container object and adds it to the application's control stack. + iAppContainer = new (ELeave) CAiwTestContainer; + iAppContainer->SetMopParent( this ); + iAppContainer->ConstructL( ClientRect() ); + AddToStackL( iAppContainer ); + + // Create service handler instance. + iServiceHandler = CAiwServiceHandler::NewL(); + + // Attach menu service interests to AIW framework. + iServiceHandler->AttachMenuL(R_AIWTEST_MENU, R_AIWTESTAPP_INTEREST); + //iServiceHandler->AttachMenuL(R_UMASETTINGS_MAIN_MENU, R_UMASETTINGSUI_INTEREST); + + // Attach base service interests to AIW framework. + iServiceHandler->AttachL(R_AIWTESTAPP_BASEINTEREST); + + iManager = CMusManager::NewL(); + + RProperty::Define( NMusResourceApi::KCategoryUid, + NMusResourceApi::KCameraAvailability, + RProperty::EInt); + + // 2. keypad property + RProperty::Define( NMusResourceApi::KCategoryUid, + NMusResourceApi::KKeypadAvailability, + RProperty::EInt ); + + // 3. video player property + RProperty::Define( NMusResourceApi::KCategoryUid, + NMusResourceApi::KVideoPlayerAvailability, + RProperty::EInt + ); + + RProperty::Set( NMusResourceApi::KCategoryUid, + NMusResourceApi::KCameraAvailability, + ( TInt ) NMusResourceApi::EAvailable ); + + // 2. keypad property + RProperty::Set( NMusResourceApi::KCategoryUid, + NMusResourceApi::KKeypadAvailability, + ( TInt ) NMusResourceApi::EAvailable ); + + // 3. video player property + RProperty::Set( NMusResourceApi::KCategoryUid, + NMusResourceApi::KVideoPlayerAvailability, + ( TInt ) NMusResourceApi::EAvailable ); + + // Next line is an example of how to use base service commands. + //iServiceHandler->ExecuteServiceCmdL(4, iServiceHandler->InParamListL(), + // iServiceHandler->OutParamListL()); + } + +// ---------------------------------------------------- +// CAiwTestAppUi::~CAiwTestAppUi() +// Destructor +// Frees reserved resources +// ---------------------------------------------------- +// +CAiwTestAppUi::~CAiwTestAppUi() + { + delete iServiceHandler; + + if (iAppContainer) + { + RemoveFromStack( iAppContainer ); + delete iAppContainer; + } + + if ( iPlugin ) + { + iPlugin->StopL(); + delete iPlugin; + } + + iManager->StopApplicationL(); + + delete iManager; + } + +// ------------------------------------------------------------------------------ +// CAiwTestAppUi::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane) +// This function is called by the EIKON framework just before it displays +// a menu pane. Its default implementation is empty, and by overriding it, +// the application can set the state of menu items dynamically according +// to the state of application data. +// ------------------------------------------------------------------------------ +// +void CAiwTestAppUi::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) + { + if (iServiceHandler->HandleSubmenuL(*aMenuPane)) + { + return; + } + + if (iServiceHandler->IsAiwMenu(aResourceId)) + { + TFileName filename(_L("image.jpg")); // This is just an axample of how to fill param list. + TAiwVariant variant(filename); + TAiwGenericParam param(EGenericParamFile, variant); + CAiwGenericParamList& inList = iServiceHandler->InParamListL(); + inList.AppendL(param); + + iServiceHandler->InitializeMenuPaneL(*aMenuPane, aResourceId, 5000, + iServiceHandler->InParamListL()); + } + } + +// ---------------------------------------------------- +// CAiwTestAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent, +// TEventCode aType) +// Takes care of key event handling. +// ---------------------------------------------------- +// +TKeyResponse CAiwTestAppUi::HandleKeyEventL(const TKeyEvent& /*aKeyEvent*/, + TEventCode /*aType*/) + { + return EKeyWasNotConsumed; + } + +// ---------------------------------------------------- +// CAiwTestAppUi::HandleCommandL(TInt aCommand) +// Takes care of command handling. +// ---------------------------------------------------- +// +void CAiwTestAppUi::HandleCommandL(TInt aCommand) + { + switch ( aCommand ) + { + case EAknSoftkeyBack: // fallthrough + case EEikCmdExit: + { + RDebug::Print(_L("This is a debug message - Exit")); + Exit(); + break; + } + case EAiwTestAppCmdBATTest: + { + break; + } + case EAiwTestAppCmdCoreInfo: + { + break; + } + case EAiwTestAppCmdEngineInfo: + { + break; + } + case 1000: // 'Testi' menu item. + { + + iManager->ExamineAvailabilityL(); + } + break; + + + + case 1001: + { + + iManager->StartApplicationL( MultimediaSharing::EMusLiveVideo ); + + } + break; + case 1002: + { + iPlugin = CMusAvaInterface::NewL(); + iPlugin->SetObserver( *this ); + + iPlugin->StartL(); + //iCallMonitor = CMusCallMonitor::NewL( *this ); + //iCallMonitor->StartMonitoringL(); + + + + } + break; + default: + { + + + CAiwGenericParamList& in = iServiceHandler->InParamListL(); + // in.AppendL(param); + + // Executes menu service command. + iServiceHandler->ExecuteMenuCmdL(aCommand, in, iServiceHandler->OutParamListL()); + + //CleanupStack::PopAndDestroy(2); + } + break; + } + } + + void CAiwTestAppUi::AvailabilityState( TAvailabilityState aState, + TAvailabilityStatus aStatus, + TAvailabilityName aName ) + { + if( aState == EMusAvaMinimum ) + iMinimumStatus = aStatus; + else if( aState == EMusAvaMandatory ) + iMandatoryStatus = aStatus; + else if( aState == EMusAvaExtension ) + iExtensionStatus = aStatus; + } + + + void CAiwTestAppUi::StopComplete() + { + + } + + +// End of File