diff -r 000000000000 -r 2f259fa3e83a uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomnotifier/src/bctestdomnotifiercase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomnotifier/src/bctestdomnotifiercase.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,1086 @@ +/* +* Copyright (c) 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: test case +* +*/ + + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // CTextListBoxModel +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "PslnModel.h" +#include "bctestdomnotifiercase.h" +#include "bctestdomnotifiercontainer.h" +#include "bctestdomnotifier.hrh" +#include "bctestdomnotifierview.h" +#include "bctestdomnotifierapp.h" + +// ======== MEMBER FUNCTIONS ======== +// --------------------------------------------------------------------------- +// Symbian 2nd static Constructor +// --------------------------------------------------------------------------- +// +CBCDomainTestNotifierCase* CBCDomainTestNotifierCase::NewL( CBCDomainTestNotifierContainer* + aContainer ) + { + CBCDomainTestNotifierCase* self = new( ELeave ) CBCDomainTestNotifierCase( + aContainer ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// C++ default constructor +// --------------------------------------------------------------------------- +// +CBCDomainTestNotifierCase::CBCDomainTestNotifierCase( CBCDomainTestNotifierContainer* + aContainer ) + : iContainer( aContainer ) + { + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +CBCDomainTestNotifierCase::~CBCDomainTestNotifierCase() + { + } + +// --------------------------------------------------------------------------- +// Symbian 2nd Constructor +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::ConstructL() + { + BuildScriptL(); + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::BuildScriptL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::BuildScriptL() + { + // Add script as your need. + AddTestL( DELAY(1), LeftCBA, KeyOK, LeftCBA, Down, KeyOK, LeftCBA, Down, + Down, KeyOK, DELAY(3), RightCBA, LeftCBA, Down, Down, Down, KeyOK, DELAY(3), RightCBA, + TEND ); + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::RunL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::RunL( TInt aCmd ) + { + if ( aCmd < EBCTestCmdOutline1 || aCmd > EBCTestCmdOutline4 ) + { + return; + } + // Call release before prepare to let container has time to draw the + // control created in PrepareCaseL. + ReleaseCaseL(); + PrepareCaseL( aCmd ); + switch ( aCmd ) + { + case EBCTestCmdOutline1: + TestFunctionL(); + break; + case EBCTestCmdOutline2: +// TestSignalL() has some problem, so comment it currently. +// TestSignalL(); + break; + case EBCTestCmdOutline3: + TestOtherL(); + break; + case EBCTestCmdOutline4: + TestPhoneL(); + break; + default: + break; + } + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::PrepareCaseL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::PrepareCaseL( TInt aCmd ) + { + switch ( aCmd ) + { + case EBCTestCmdOutline1: + // Here is a simple demo. You should create your control + // instead of this. + iControl = new( ELeave ) CCoeControl(); + iControl->SetContainerWindowL( *iContainer ); + iControl->MakeVisible( ETrue ); + break; + default: + break; + } + // Pass the owner of iControl to iContainer. + iContainer->SetControl( iControl ); + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::ReleaseCaseL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::ReleaseCaseL() + { + // let container delete the component control. + iContainer->ResetControl(); + iControl = NULL; + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::TestFunctionL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::TestFunctionL() + { + //aknopenfileservice.h + + RFs& fs = CEikonEnv::Static()->FsSession(); + RFile rfile; + _LIT( KFilePath, "c:\\BCTestLog\\test.txt" ); + rfile.Create( fs, KFilePath, EFileWrite | EFileShareAny ); + CleanupClosePushL( rfile ); + + CAiwGenericParamList* aiwparalist = CAiwGenericParamList::NewL(); + CPslnModel* psmodel= CPslnModel::NewL(); + MAknServerAppExitObserver* serappexit = + static_cast ( psmodel ); + + CAknOpenFileService* fileserv = NULL; + TRAPD( err, fileserv = CAknOpenFileService::NewL( + KFilePath, serappexit, aiwparalist ) ); + _LIT( KCAknOpenFileServiceNewL, "CAknOpenFileService::NewL()" ); + AssertTrueL( ETrue, KCAknOpenFileServiceNewL ); + delete fileserv; + fileserv = NULL; + + TUid KUid = { 0xA0004001 }; + TInt err1; + TRAP( err1, fileserv = CAknOpenFileService::NewL( + KUid, rfile, serappexit, aiwparalist ) ); + _LIT( KCAknOpenFileServiceNewLOver, "CAknOpenFileService::NewL()" ); + AssertTrueL( ETrue, KCAknOpenFileServiceNewLOver ); + + CleanupStack::PopAndDestroy(); // rfile + delete fileserv; + delete psmodel; + delete aiwparalist; + _LIT( KCAknNotifierAppServerAppUi,"CAknNotifierAppServerAppUi" ); + // AknNotiferAppServerApplication.h + + CBCNotifierAppServer *notifierapp = new ( ELeave ) + CBCNotifierAppServer(); + CleanupStack::PushL( notifierapp ); + CApaDocument* tmp = notifierapp->CreateDocumentL(); + + CApaAppServer* appserver = NULL; + notifierapp->NewAppServerL( appserver ); + + delete tmp; + delete appserver; + CleanupStack::PopAndDestroy( notifierapp ); + + _LIT( KHandleCommandL, "HandleCommandL" ); + _LIT( KSetFadedL, "SetFadedL" ); + _LIT( KHandleKeyEventL, "HandleKeyEventL" ); + _LIT( KHandleError, "HandleError" ); + _LIT( KHandleSystemEventL, "HandleSystemEventL" ); + _LIT( KManager, "Manager" ); + _LIT( KSetManager, "SetManager" ); + _LIT( KEikSrvBlocked, "EikSrvBlocked" ); + + CAknNotifierAppServerAppUi* notifier = static_cast + ( CEikonEnv::Static()->AppUi() ); + + notifier->CAknNotifierAppServerAppUi::HandleCommandL( EEikCmdCanceled ); + AssertTrueL( ETrue, KHandleCommandL ); + + notifier->SetFadedL( EFalse ); + AssertTrueL( ETrue, KSetFadedL ); + + TKeyEvent keyevent = { EKeyEnter, EStdKeyEnter, 0, 0 }; + notifier->HandleKeyEventL( keyevent, EEventNull ); + AssertTrueL( ETrue, KHandleKeyEventL ); + + TInt handleErr = 0; + SExtendedError exterr; + TBuf<32> errbuf( KCAknNotifierAppServerAppUi ); + notifier->HandleError( handleErr, exterr , errbuf , errbuf ); + AssertTrueL( ETrue, KHandleError ); + + TWsEvent wsevent; + notifier->HandleSystemEventL( wsevent ); + AssertTrueL( ETrue, KHandleSystemEventL ); + + MEikSrvNotifierManager* manager = notifier->Manager(); + AssertTrueL( ETrue, KManager ); + + notifier->SetManager( manager ); + AssertTrueL( ETrue, KSetManager ); + + notifier->EikSrvBlocked(); + AssertTrueL( ETrue, KEikSrvBlocked ); + + //notifier->SuppressAppSwitching( ETrue ); + //_LIT( KSuppressAppSwitching, "SuppressAppSwitching" ); + //AssertTrueL( ETrue, KSuppressAppSwitching ); + + // AknNotiferAppServer.h + _LIT( KNotiServer, "CAknNotifierAppServer"); + _LIT( KStartNotifierL, "StartNotifierL"); + _LIT( KUpdateNotifierL, "UpdateNotifierL"); + _LIT( KCancelNotifier, "CancelNotifier"); + _LIT( KStartNotifierAndGetResponseL, "StartNotifierAndGetResponseL"); + _LIT( KAppendNotifierLibNameL, "AppendNotifierLibNameL"); + _LIT( KSetImplementationFinderL, "SetImplementationFinderL"); + _LIT( KUnbalanceReferenceCountForNotif, "UnbalanceReferenceCountForNotif"); + _LIT( KCreateServiceL, "CreateServiceL"); + _LIT( KLoadNotifiersL, "LoadNotifiersL"); + _LIT( KCAknNotifierAppServerDestroy, "SCAknNotifierAppServerDestroy" ); + _LIT( KUpdateNotifierAndGetResponseL, "UpdateNotifierAndGetResponseL" ); +//////////////////////////////////////////////////////////////////////////////////////////////// + CAknNotifierAppServer *notiserver = new ( ELeave ) CAknNotifierAppServer(); + CleanupStack::PushL( notiserver ); + AssertNotNullL( notiserver, KNotiServer ); + + _LIT(KLabName, "ictsuiutilsnotif.dll"); + //_LIT(KLabName, "aknoldstylenotif.dll"); + notiserver->AppendNotifierLibNameL( KLabName ); + AssertTrueL( ETrue,KAppendNotifierLibNameL ); + + //TRAP( err, notiserver->LoadNotifiersL() ); + //AssertTrueL( ETrue,KLoadNotifiersL ); + + TBuf8<32> bf; + TRAP( err,notiserver->StartNotifierL( + KUidBCDomainTestNotifier, bf, bf ) ); + AssertTrueL( ETrue,KStartNotifierL ); + + TRAP( err, notiserver->UpdateNotifierL( + KUidBCDomainTestNotifier, bf, bf ) ); + AssertTrueL( ETrue,KUpdateNotifierL ); + + notiserver->CancelNotifier( KUidBCDomainTestNotifier ); + AssertTrueL( ETrue,KCancelNotifier ); + + RMessagePtr2 msg; + TInt replyslot = 1; + TRAP( err, notiserver->StartNotifierAndGetResponseL( + KUidBCDomainTestNotifier, bf, msg, replyslot ) ); + AssertTrueL( ETrue, KStartNotifierAndGetResponseL ); + + + MNotifLibraryOwningServer* pFinder = NULL; + notiserver->SetImplementationFinderL( pFinder ); + AssertTrueL( ETrue, KSetImplementationFinderL ); + + notiserver->UnbalanceReferenceCountForNotif( + KUidBCDomainTestNotifier, EFalse ); + AssertTrueL( ETrue,KUnbalanceReferenceCountForNotif ); + + TRAP( err, notiserver->CreateServiceL( KUidBCDomainTestNotifier ) ); + AssertTrueL( ETrue, KCreateServiceL ); + + + + TRAP( err, notiserver->UpdateNotifierAndGetResponseL( + KUidBCDomainTestNotifier, bf, msg, replyslot ) ); + AssertTrueL( ETrue, KUpdateNotifierAndGetResponseL ); + + CleanupStack::PopAndDestroy( notiserver ); + AssertTrueL( ETrue,KCAknNotifierAppServerDestroy ); +//////////////////////////////////////////////////////////////////////////////////// + // AknNotifierAppServerSession.h + // aknnotifiercontrollerutilities.h + + CAknNotifierControllerUtility* ntf = + new ( ELeave )CAknNotifierControllerUtility(0); + CleanupStack::PushL( ntf ); + ntf->DoStopNotifications(); + CleanupStack::PopAndDestroy( ntf ); + + _LIT( KCAknNotifierControllerUtility, + "CAknNotifierControllerUtility::DoStopNotifications()" ); + AssertTrueL( ETrue, KCAknNotifierControllerUtility ); + + // aknnotifiercontroller.h + _LIT( KCancelAllNotifications, "CancelAllNotifications" ); + _LIT( KHideAllNotifications, "HideAllNotifications" ); + + AknNotifierController::HideAllNotifications( EFalse ); + AssertTrueL( ETrue, KHideAllNotifications ); + + AknNotifierController::CancelAllNotifications(); + AssertTrueL( ETrue, KCancelAllNotifications ); + + // aknnullservice.h + + _LIT( KCAknNullService, "CAknNullService" ); + _LIT( KCAknNullServiceDestroy, "CAknNullServiceDestroy" ); + + MAknServerAppExitObserver* os = new ( ELeave ) CBCserverAppExitObserver(); + TUid KUidTest = { 0xA004000 }; + CAknNullService* nullserv = NULL; + TRAP( err, nullserv = CAknNullService::NewL( KUidTest, os ) ); + CleanupStack::PushL( nullserv ); + AssertTrueL( ETrue,KCAknNullService ); + CleanupStack::Pop(); + AssertTrueL( ETrue,KCAknNullServiceDestroy ); + delete os; + + + CAknLongTapAnimation* ltAnimation = CAknLongTapAnimation::NewL(); + CleanupStack::PushL( ltAnimation ); + _LIT( KCAknLongTapAnimationNewL, "CAknLongTapAnimation::NewL()" ); + AssertTrueL( ETrue, KCAknLongTapAnimationNewL ); + + if (ltAnimation) + { + ltAnimation->ShowAnimationL( 10, 10 ); + _LIT( KCAknLongTapAnimationShowAnimationL, + "CAknLongTapAnimation::ShowAnimationL()" ); + AssertTrueL( ETrue, KCAknLongTapAnimationShowAnimationL ); + + ltAnimation->HideAnimation(); + _LIT( KCAknLongTapAnimationHideAnimation, + "CAknLongTapAnimation::HideAnimation()" ); + AssertTrueL( ETrue, KCAknLongTapAnimationHideAnimation ); + } + + CleanupStack::PopAndDestroy();//ltAnimation + + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::TestSignalL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::TestSignalL() + { + // aknsignal.h + _LIT( KCAknSignalPane, "CAknSignalPane" ); + _LIT( KConstructFromResourceL, "ConstructFromResourceL" ); + _LIT( KSetSignalLevel, "SetSignalLevel" ); + _LIT( KShowGprsIcon, "ShowGprsIcon" ); + _LIT( KShowCommonPacketDataIcon, "ShowCommonPacketDataIcon" ); + _LIT( KShowWcdmaIcon, "ShowWcdmaIcon" ); + _LIT( KShowHsdpaIcon, "ShowHsdpaIcon" ); + _LIT( KShowEdgeIcon, "ShowEdgeIcon" ); + _LIT( KCAknSignalPaneDestroy, "SCAknSignalPaneDestroy" ); + + CAknSignalPane* signalpane = new ( ELeave ) CAknSignalPane(); + CleanupStack::PushL( signalpane ); + AssertNotNullL( signalpane, KCAknSignalPane ); + + TResourceReader reader; + CEikonEnv::Static()->CreateResourceReaderLC( reader, + R_BCTESTDOMNOTIFIER_VIEW ); + + signalpane->ConstructFromResourceL( reader ); + AssertTrueL( ETrue, KConstructFromResourceL ); + + signalpane->SetSignalLevel( 5 ); + AssertTrueL( ETrue, KSetSignalLevel ); + + signalpane->ShowGprsIcon( EAknSignalGprsIndicatorOff ); + AssertTrueL( ETrue, KShowGprsIcon ); + + signalpane->ShowCommonPacketDataIcon( + EAknSignalCommonPacketDataIndicatorOff ); + AssertTrueL( ETrue,KShowCommonPacketDataIcon ); + + signalpane->ShowWcdmaIcon( EAknSignalWcdmaIndicatorOff ); + AssertTrueL( ETrue, KShowWcdmaIcon ); + + signalpane->ShowHsdpaIcon( EAknSignalHsdpaIndicatorOff ); + AssertTrueL( ETrue, KShowHsdpaIcon ); + + signalpane->ShowCdmaIcon( EAknSignalCdmaIndicatorOff ); + AssertTrueL( ETrue, KShowHsdpaIcon ); + + signalpane->ShowEdgeIcon( EAknSignalEdgeIndicatorOff ); + AssertTrueL( ETrue, KShowEdgeIcon ); + + signalpane->SetNaviPaneBackgroundType( EAknNaviPaneBackgroundTypeNotDefined ); + + // Extension Func ExtensionInterface() + _LIT( KPositionChanged,"PositionChanged" ); + + CleanupStack::PopAndDestroy();// reader + CleanupStack::PopAndDestroy( signalpane ); + AssertTrueL( ETrue,KCAknSignalPaneDestroy ); + + CBCSignalPane* bcsinpane = new ( ELeave ) CBCSignalPane(); + CEikonEnv::Static()->CreateResourceReaderLC( reader, + R_BCTESTDOMNOTIFIER_VIEW ); + bcsinpane->ConstructFromResourceL( reader ); + + bcsinpane->PositionChanged(); + AssertTrueL( ETrue, KPositionChanged ); + + CleanupStack::PopAndDestroy();//reader + delete bcsinpane; + AssertTrueL( ETrue,KPositionChanged ); + + // AknSignalNotifyAddition.h + _LIT( KAknSignalNotifyAddition, "AknSignalNotifyAddition" ); + + CAknNavigationControlContainer* navicontrol = new ( ELeave ) + CAknNavigationControlContainer(); + navicontrol->ConstructL(); + AssertTrueL( ETrue, KAknSignalNotifyAddition ); + delete navicontrol; + + //AknNotifierWrapper.h + _LIT( KCAknCommonNotifierWrapper, "CAknCommonNotifierWrapper" ); + _LIT( KSetCustomSecurityHandler, "SetCustomSecurityHandler" ); + _LIT( KStartNotifierL, "StartNotifierL" ); + _LIT( KCancelNotifier, "SCancelNotifier" ); + _LIT( KStartNotifierL2, "StartNotifierL2" ); + _LIT( KUpdateNotifierL1, "UpdateNotifierL1" ); + _LIT( KUpdateNotifierL2, "UpdateNotifierL2" ); + _LIT( KDoNotifierControllerCommand, "DoNotifierControllerCommand" ); + _LIT( KStartL1, "StartL1" ); + _LIT( KStartL2, "StartL2" ); + _LIT( KUpdateL, "UpdateL" ); + _LIT( KSInfo, "Info" ); + _LIT( KNotifierCapabilites, "NotifierCapabilites" ); + _LIT( KCancel, "Cancel" ); + _LIT( KNewServerRequestL, "NewServerRequestL" ); + _LIT( KAsyncMessageCompleted, "AsyncMessageCompleted" ); + + TBuf<32> plibaryname; + TUid kuid = {0xA0004000}; + TUid channel = EAknNotifierChannelNote; + + CAknCommonNotifierWrapper* notiwrap = CAknCommonNotifierWrapper::NewL( + kuid, channel, MEikSrvNotifierBase2::ENotifierPriorityLowest, + KSInfo, 64, EFalse ); + CleanupStack::PushL( notiwrap ); + AssertNotNullL( notiwrap, KCAknCommonNotifierWrapper ); + + TBuf8<32> bf; + RMessagePtr2 msg; + TInt replyslot = 1; + + TUid KUid1 = { 0xA0004001 }; + TUid KUid2 = { 0xA0004002 }; + + MAknNotifierCustomSecurityCheck* handler = NULL; + notiwrap->SetCustomSecurityHandler( handler ); + AssertTrueL( ETrue, KSetCustomSecurityHandler ); + delete handler; + + notiwrap->StartNotifierL( KUid1, bf, replyslot, msg ); + AssertTrueL( ETrue, KStartNotifierL ); + + TInt err = 0; + TRAP( err, notiwrap->StartNotifierL( KUid2, bf ) ); + AssertTrueL( ETrue, KStartNotifierL2 ); + + notiwrap->CancelNotifier( KUid1 ); + notiwrap->CancelNotifier( KUid2 ); + AssertTrueL( ETrue, KCancelNotifier ); + + TRAP( err, notiwrap->UpdateNotifierL( KUid1, bf ) ); + AssertTrueL( ETrue, KUpdateNotifierL1 ); + + TRAP( err, notiwrap->MAknNotifierWrapper::UpdateNotifierL( KUid2, bf, replyslot,msg ) ); + AssertTrueL( ETrue, KUpdateNotifierL2 ); + + notiwrap->DoNotifierControllerCommand( 1 ); + AssertTrueL( ETrue,KDoNotifierControllerCommand ); + + notiwrap->StartL( bf,replyslot,msg ); + AssertTrueL( ETrue,KStartL1 ); + + notiwrap->Info(); + AssertTrueL( ETrue,KSInfo ); + + TRAP( err, notiwrap->UpdateL( bf ) ); + AssertTrueL( ETrue,KUpdateL ); + + notiwrap->NotifierCapabilites(); + AssertTrueL( ETrue,KNotifierCapabilites ); + + TRAP( err, notiwrap->StartL( bf ) ); + AssertTrueL( ETrue,KStartL2 ); + + MAknNotifierWrapper* owner = NULL; + RMessagePtr2 ptr; + CAknNotifierMessageObserver* notimessa = CAknNotifierMessageObserver:: + NewServerRequestL( KUidBCDomainTestNotifier, owner, ptr, replyslot ); + CleanupStack::PushL( notimessa ); + AssertNotNullL( notimessa, KNewServerRequestL ); + + notiwrap->AsyncMessageCompleted( notimessa ); + AssertTrueL( ETrue, KAsyncMessageCompleted ); + + CleanupStack::PopAndDestroy( notimessa ); + + notiwrap->Cancel(); + AssertTrueL( ETrue, KCancel ); + + notiwrap->Release(); + _LIT( KRelease, "Release" ); + AssertTrueL( ETrue, KRelease ); + CleanupStack::Pop( notiwrap ); + + TUid ntfUid = { 0x10aa0d10 }; + CAknNotifierWrapper* notifierWrap = + CAknNotifierWrapper::NewL( ntfUid , ntfUid, 0, ntfUid, 0); + CleanupStack::PushL( notifierWrap ); + + TBuf8<10> buf; + RMessagePtr2 message; + notifierWrap->StartNotifierL( ntfUid, buf, 0, message ); + + TInt errno; + TRAP( errno, notifierWrap->StartNotifierL( ntfUid, buf ) ); + + CleanupStack::PopAndDestroy( notifierWrap ); + + _LIT( KCAknNotifierWrapper, "CAknNotifierWrapper::StartNotifierL(4)" ); + AssertTrueL( ETrue, KCAknNotifierWrapper ); + _LIT( KCAknNotifierWrapper2, "CAknNotifierWrapper::StartNotifierL(2)" ); + AssertTrueL( ETrue, KCAknNotifierWrapper2 ); + + // AknSignalNotify.h + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::TestOtherL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::TestOtherL() + { + + // AknMarqueeControl.h + + _LIT( KCAknMarqueeControl, "CAknMarqueeControl" ); + _LIT( KStart, "Start" ); + _LIT( KReset, "Reset" ); + _LIT( KStop, "Stop" ); + _LIT( KIsMarqueeOn, "IsMarqueeOn" ); + _LIT( KUseLogicalToVisualConversion, "UseLogicalToVisualConversion" ); + _LIT( KSetSpeedInPixels, "SetSpeedInPixels" ); + _LIT( KSetDelay, "SetDelay" ); + _LIT( KSetInterval, "SetInterval" ); + _LIT( KSetLoops, "SetLoops" ); + _LIT( KEnableMarquee, "EnableMarquee" ); + _LIT( KSCAknMarqueeControlDestroy, "SSCAknMarqueeControlDestroy" ); + + CAknMarqueeControl* marcontrol = CAknMarqueeControl::NewL(); + CleanupStack::PushL( marcontrol ); + AssertNotNullL( marcontrol, KCAknMarqueeControl ); + marcontrol->Start(); + AssertTrueL( ETrue, KStart ); + marcontrol->Reset(); + AssertTrueL( ETrue, KReset ); + marcontrol->Stop(); + AssertTrueL( ETrue, KStop ); + marcontrol->IsMarqueeOn(); + AssertTrueL( ETrue, KIsMarqueeOn ); + marcontrol->UseLogicalToVisualConversion( EFalse ); + AssertTrueL( ETrue, KUseLogicalToVisualConversion ); + marcontrol->SetSpeedInPixels( 4 ); + AssertTrueL( ETrue, KSetSpeedInPixels ); + marcontrol->SetDelay( 8 ); + AssertTrueL( ETrue, KSetDelay ); + marcontrol->SetInterval( 8 ); + AssertTrueL( ETrue, KSetInterval ); + marcontrol->SetLoops( 1 ); + AssertTrueL( ETrue, KSetLoops ); + marcontrol->EnableMarquee( EFalse ); + AssertTrueL( ETrue, KEnableMarquee ); + + const TBuf<32> txt( KStart ); + const TInt baselineoffset = 8; + const CGraphicsContext::TTextAlign align( CGraphicsContext::ELeft ); + TRect rect( TRect(1,1,99,99) ); + const CFont* font = CEikonEnv::Static()->NormalFont(); + TAknTextComponentLayout textlayout; + + marcontrol->SetContainerWindowL( *iContainer ); + CWindowGc& gc = marcontrol->SystemGc(); + + marcontrol->DrawText( gc, rect, txt, baselineoffset, align, *font ); + //marcontrol->DrawText( gc, rect, textlayout, txt, font ); + + CleanupStack::PopAndDestroy( marcontrol ); + AssertTrueL( ETrue, KSCAknMarqueeControlDestroy ); + + // AknMediatorFacade.h + CEikDialog *dialog = new ( ELeave ) CEikDialog(); + CleanupStack::PushL( dialog ); + CAknMediatorFacade* mediatorFacade = CAknMediatorFacade::NewL( dialog ); + CleanupStack::PushL( mediatorFacade ); + _LIT( KCAknMediatorFacade, "CAknMediatorFacade::CAknMediatorFacade()" ); + AssertTrueL( ETrue, KCAknMediatorFacade ); + + mediatorFacade->ResetBuffer(); + _LIT( KCMFacadeResetBuffer, "CAknMediatorFacade::ResetBuffer()" ); + AssertTrueL( ETrue, KCMFacadeResetBuffer ); + + mediatorFacade->PostUpdatedDataL(); + _LIT( KCMFacadePostUpdatedDataL, "CAknMediatorFacade::PostUpdatedDataL()" ); + AssertTrueL( ETrue, KCMFacadePostUpdatedDataL ); + + AknMediatorFacade( dialog ); + _LIT( KGlobalAknMediatorFacade, "Global::AknMediatorFacade" ); + AssertTrueL( ETrue, KGlobalAknMediatorFacade ); + + + TInt& index = mediatorFacade->DialogIndex(); + index = 1; + mediatorFacade->IssueCommand(); + _LIT( KCMFacadeIssueCommand, "CAknMediatorFacade::IssueCommand()" ); + AssertTrueL( ETrue, KCMFacadeIssueCommand ); + + mediatorFacade->CancelCommand(); + _LIT( KCMFacadeCancelCommand, "CAknMediatorFacade::CancelCommand()" ); + AssertTrueL( ETrue, KCMFacadeCancelCommand ); + + mediatorFacade->SetObserver( NULL ); + _LIT( KCMFacadeSetObserver, "CAknMediatorFacade::SetObserver()" ); + AssertTrueL( ETrue, KCMFacadeSetObserver ); + + CleanupStack::PopAndDestroy( mediatorFacade ); + CleanupStack::PopAndDestroy( dialog ); + + // aknlistloadertfx.h + _LIT( KTfxApiInternal, "TfxApiInternal" ); + _LIT( KTfxApi, "TfxApi" ); + _LIT( KRemoveTfxGc, "RemoveTfxGc" ); + _LIT( KCreateTfxGc, "CreateTfxGc" ); + _LIT( KInvalidateAll, "InvalidateAll" ); + + CAknListLoader::TfxApiInternal( &gc ); + AssertTrueL( ETrue, KTfxApiInternal ); + CAknListLoader::TfxApi( &gc ); + AssertTrueL( ETrue, KTfxApi ); + + + CAknDialog* dlg = new ( ELeave ) CAknDialog(); + CleanupStack::PushL( dlg ); + CEikMenuPane* menupane = new (ELeave) CEikMenuPane(dlg); + CleanupStack::PushL( menupane ); + TInt topindex = 0; + TInt itemsthatfitinview = 1; + CAknListLoader::CreateTfxGc( *menupane, topindex, itemsthatfitinview ); + + + //CDesCArray* txtarray = new (ELeave) CDesCArraySeg(1); + //CleanupStack::PushL( txtarray ); + //TBuf<32> item( KStart ); + //txtarray->AppendL( item ); + + + //CTextListBoxModel* model = new( ELeave ) CTextListBoxModel(); + //CleanupStack::PushL( model ); + //model->ConstructL(); + + + //CTextListItemDrawer* drawer = new( ELeave ) CTextListItemDrawer(); + //CleanupStack::PushL( drawer ); + //drawer->ConstructL( CEikonEnv::Static()->NormalFont() ); + + //CEikListBox* lstbox = new ( ELeave ) CEikListBox(); + //CleanupStack::PushL( lstbox ); + + //TGulBorder tborder( TGulBorder::ESingleGray ); + //lstbox->ConstructL( iContainer ); + // EAknListBoxSelectionList | EAknListBoxViewerFlags ); + + //CAknListLoader::CreateTfxGc( *lstbox ); + //AssertTrueL( ETrue, KCreateTfxGc ); + + + + CAknListLoader::RemoveTfxGc( &gc ); + AssertTrueL( ETrue, KRemoveTfxGc ); + + + CAknListLoader::InvalidateAll(); + AssertTrueL( ETrue, KInvalidateAll ); + + //CleanupStack::PopAndDestroy( lstbox ); + //CleanupStack::PopAndDestroy( drawer ); + //CleanupStack::PopAndDestroy( model ); + //CleanupStack::PopAndDestroy( txtarray ); + + CleanupStack::PopAndDestroy( menupane); + CleanupStack::PopAndDestroy( dlg ); + // AknReadingConverter.h + _LIT( KCReadingConverter, "CReadingConverter" ); + _LIT( KHandleCompletionOfTransactionL, "HandleCompletionOfTransactionL" ); + _LIT( KMainEditor, "MainEditor" ); + _LIT( KReadingEditor, "ReadingEditor" ); + _LIT( KSetReadingEditor, "SetReadingEditor" ); + _LIT( KSetMainEditor, "SetMainEditor" ); + + + CReadingConverter* rdconver = CReadingConverter::NewL(); + CleanupStack::PushL( rdconver ); + AssertNotNullL( rdconver, KCReadingConverter ); + CleanupStack::PopAndDestroy(); + + CEikEdwin* maineditor = NULL; + rdconver = CReadingConverter::NewL( *maineditor, *maineditor ); + CleanupStack::PushL( rdconver ); + + rdconver->HandleCompletionOfTransactionL(); + AssertTrueL( ETrue, KHandleCompletionOfTransactionL ); + + rdconver->MainEditor(); + AssertTrueL( ETrue, KMainEditor ); + + rdconver->ReadingEditor(); + AssertTrueL( ETrue, KReadingEditor ); + + rdconver->SetReadingEditor( *maineditor ); + AssertTrueL( ETrue, KSetReadingEditor ); + + rdconver->SetMainEditor( *maineditor ); + AssertTrueL( ETrue, KSetMainEditor ); + + CleanupStack::PopAndDestroy( rdconver ); + + // aknMemoryCardDialog.h + _LIT( KCAknMemoryCardDialog, "CAknMemoryCardDialog" ); + _LIT( KSetSelfPointer, "SetSelfPointer" ); + _LIT( KUnlockCardLD, "UnlockCardLD" ); + _LIT( KNotifierArray, "NotifierArray" ); + + CAknMemoryCardDialog* memdlg = CAknMemoryCardDialog::NewLC(); + AssertTrueL( ETrue, KCAknMemoryCardDialog ); + + CArrayPtr* notifies = NotifierArray(); + AssertTrueL( ETrue, KNotifierArray ); + + memdlg->SetSelfPointer( &memdlg ); + AssertTrueL( ETrue, KSetSelfPointer ); + memdlg->UnlockCardLD( EDriveE ); + AssertTrueL( ETrue, KUnlockCardLD ); + + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::TestPhoneL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::TestPhoneL() + { + // AknPhoneNumberGrouping.h + + _LIT( KSet, "Set" ); + _LIT( KFormattedNumber, "FormattedNumber" ); + _LIT( KCopyFormattedNumber, "CopyFormattedNumber" ); + _LIT( KGrouphonenumber, "Grouphonenumber" ); + _LIT( KCreateGroupedPhoneNumberL, "CreateGroupedPhoneNumberL" ); + _LIT( KCAknPhoneNumberGroupingDestroy, "CAknPhoneNumberGroupingDestroy" ); + _LIT( KNumberGroup, "NuberGroup::NewL" ); + + TBuf<32> num( KNumberGroup ); + CAknPhoneNumberGrouping* phonenumber = CAknPhoneNumberGrouping::NewL( 10 ); + CleanupStack::PushL( phonenumber ); + AssertNotNullL( phonenumber,KNumberGroup ); + + phonenumber->Set( num ); + AssertTrueL( ETrue, KSet ); + phonenumber->FormattedNumber(); + AssertTrueL( ETrue, KFormattedNumber ); + + TBuf<32> tarea( KNumberGroup ); + phonenumber->CopyFormattedNumber( tarea ); + AssertTrueL( ETrue, KCopyFormattedNumber ); + phonenumber->GroupPhoneNumber( tarea,num ); + AssertTrueL( ETrue, KGrouphonenumber ); + phonenumber->GroupPhoneNumber( num ); + AssertTrueL( ETrue, KGrouphonenumber ); + HBufC* rturn = phonenumber->CreateGroupedPhoneNumberL( num ); + AssertTrueL( ETrue, KCreateGroupedPhoneNumberL ); + + delete rturn; + CleanupStack::PopAndDestroy(); + AssertTrueL( ETrue, KCAknPhoneNumberGroupingDestroy ); + + // AknPhoneNumberTextUtils.h + _LIT( KWrapPhonenumberToArrayL, "WrapPhonenumberToArrayL" ); + _LIT( KClipLineOnLeft, "ClipLineOnLeft" ); + _LIT( KCharsThatFitOnRight, "CharsThatFitOnRight" ); + + TBuf<32> tbuf( KNumberGroup ); + const CFont *tfont = CEikonEnv::Static()->NormalFont(); + CArrayFix* ary = new ( ELeave ) CArrayFixFlat( 32 ); + CleanupStack::PushL( ary ); + TPtrC tptr( tbuf ); + + AknPhoneNumberTextUtils::WrapPhoneNumberToArrayL( + tarea, 2, 16, *tfont, *ary ); + AssertTrueL( ETrue, KWrapPhonenumberToArrayL ); + AknPhoneNumberTextUtils::ClipLineOnLeft( tptr, tbuf, 1, *tfont ); + AssertTrueL( ETrue, KClipLineOnLeft ); + AknPhoneNumberTextUtils::CharsThatFitOnRight( tarea, 2, *tfont ); + AssertTrueL( ETrue, KCharsThatFitOnRight ); + CleanupStack::PopAndDestroy( ary ); + //delete ary; + + // AknPhoneNumberEditor.h + _LIT( KCAknPhoneNumberEditor, "CAknPhoneNumberEditor" ); + _LIT( KConstructFromResourceL, "ConstructFromResourceL" ); + _LIT( KFormat, "Format" ); + _LIT( KWouldTextFitInFormat, "WouldTextFitInFormat" ); + _LIT( KCurrentFormatIndex, "CurrentFormatIndex" ); + _LIT( KSetFormat, "SetFormat" ); + _LIT( KText, "Text" ); + _LIT( KSizeChanged, "SizeChanged" ); + _LIT( KMinimumSize, "MinimumSize" ); + _LIT( KInputCapabilities, "InputCapabilities" ); + _LIT( KTextLength, "TextLength" ); + _LIT( KCursorPos, "CursorPos" ); + _LIT( KSelectionLength, "SelectionLength" ); + _LIT( KSelection, "Selection" ); + _LIT( KClearSelectionL, "ClearSelectionL" ); + _LIT( KSetSelectionL, "SetSelectionL" ); + _LIT( KSetCursorPosL, "SetCursorPosL" ); + _LIT( KSelectAllL, "SelectAllL" ); + _LIT( KGetText, "GetText" ); + _LIT( KGetTextInHBufL, "GetTextInHBufL" ); + _LIT( KSetTextL, "SetTextL" ); + _LIT( KSetText, "SetText" ); + _LIT( KGetEditorMode, "KGetEditorMode" ); + _LIT( KCancelFepTransaction, "CancelFepTransaction" ); + _LIT( KUpdateScrollBarsL, "UpdateScrollBarsL" ); + _LIT( KCreateScrollBarFrameL, "CreateScrollBarFrameL" ); + _LIT( KLineCursorWidth, "LineCursorWidth" ); + _LIT( KMargins, "Margins" ); + _LIT( KChangeEditorMode, "ChangeEditorMode" ); + _LIT( KResetEditorToDefaultValues, "ResetEditorToDefaultValues" ); + _LIT( KOfferKeyEventL, "OfferKeyEventL" ); + _LIT( KFocusChanged, "FocusChanged" ); + _LIT( KCAknPhoneNumberEditorDestroy, "KCAknPhoneNumberEditorDestroy" ); + _LIT( KCAknPhoneNumberEditorDraw, "Draw" ); + + CAknPhoneNumberEditor* phonenumeditor = + new ( ELeave ) CAknPhoneNumberEditor; + CleanupStack::PushL( phonenumeditor ); + //AssertNotNullL( phonenumeditor,KCAknPhoneNumberEditor ); + phonenumeditor->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CEikonEnv::Static()->CreateResourceReaderLC( reader, + R_PHONEEDAPP_RESEDIT ); + + + phonenumeditor->ConstructFromResourceL( reader ); + AssertTrueL( ETrue,KConstructFromResourceL ); + CleanupStack::PopAndDestroy();//reader + + phonenumeditor->Format( 0 ); + AssertTrueL( ETrue, KFormat ); + + //Draw() function will be called. + iContainer->SetControl( phonenumeditor ); + AssertTrueL( ETrue, KCAknPhoneNumberEditorDraw ); + + TInt tcount = phonenumeditor->CountFormats(); + phonenumeditor->WouldTextFitInFormat( tcount-1 ); + AssertTrueL( ETrue, KWouldTextFitInFormat ); + tcount = phonenumeditor->CurrentFormatIndex(); + AssertTrueL( ETrue, KCurrentFormatIndex ); + phonenumeditor->SetFormat( tcount ); + AssertTrueL( ETrue, KSetFormat ); + phonenumeditor->Text(); + AssertTrueL( ETrue, KText ); + phonenumeditor->SizeChanged(); + AssertTrueL( ETrue, KSizeChanged ); + phonenumeditor->MinimumSize(); + AssertTrueL( ETrue, KMinimumSize ); + phonenumeditor->InputCapabilities(); + AssertTrueL( ETrue, KInputCapabilities ); + + phonenumeditor->TextLength(); + AssertTrueL( ETrue, KTextLength ); + phonenumeditor->CursorPos(); + AssertTrueL( ETrue, KCursorPos ); + phonenumeditor->SelectionLength(); + AssertTrueL( ETrue, KSelectionLength ); + phonenumeditor->Selection(); + AssertTrueL( ETrue, KSelection ); + phonenumeditor->ClearSelectionL(); + AssertTrueL( ETrue, KClearSelectionL ); + phonenumeditor->SetSelectionL( 0,0 ); + AssertTrueL( ETrue, KSetSelectionL ); + phonenumeditor->SetCursorPosL( 0,0 ); + AssertTrueL( ETrue, KSetCursorPosL ); + phonenumeditor->SelectAllL(); + AssertTrueL( ETrue, KSelectAllL ); + phonenumeditor->GetText( tarea ); + AssertTrueL( ETrue, KGetText ); + HBufC* temp = phonenumeditor->GetTextInHBufL(); + CleanupStack::PushL( temp ); + AssertTrueL( ETrue, KGetTextInHBufL ); + CleanupStack::PopAndDestroy( temp ); + + phonenumeditor->SetTextL( &tarea ); + AssertTrueL( ETrue, KSetTextL ); + + phonenumeditor->SetText( tarea ); + AssertTrueL( ETrue, KSetText ); + + phonenumeditor->CancelFepTransaction(); + AssertTrueL( ETrue, KCancelFepTransaction ); + + phonenumeditor->UpdateScrollBarsL(); + AssertTrueL( ETrue, KUpdateScrollBarsL ); + CEikScrollBarFrame* pScrBar = phonenumeditor->CreateScrollBarFrameL(); + CleanupStack::PushL( pScrBar ); + AssertTrueL( ETrue, KCreateScrollBarFrameL ); + CleanupStack::PopAndDestroy( pScrBar ); + phonenumeditor->LineCursorWidth(); + AssertTrueL( ETrue, KLineCursorWidth ); + phonenumeditor->Margins(); + AssertTrueL( ETrue, KMargins ); + + phonenumeditor->ChangeEditorMode(); + AssertTrueL( ETrue, KChangeEditorMode ); + phonenumeditor->GetEditorMode(); + AssertTrueL( ETrue, KGetEditorMode ); + phonenumeditor->ResetEditorToDefaultValues(); + AssertTrueL( ETrue, KResetEditorToDefaultValues ); + + TKeyEvent keyevent = { EKeyEnter, EStdKeyEnter, 0, 0 }; + phonenumeditor->OfferKeyEventL( keyevent,EEventKey ); + AssertTrueL( ETrue, KOfferKeyEventL ); + phonenumeditor->FocusChanged( EDrawNow );//Draw() function will be called. + AssertTrueL( ETrue, KFocusChanged ); + + iContainer->ResetControl(); + CleanupStack::Pop(); + //CleanupStack::PopAndDestroy(); + AssertTrueL( ETrue, KCAknPhoneNumberEditorDestroy ); + + TestFormatL(); + } + +// --------------------------------------------------------------------------- +// CBCDomainTestNotifierCase::TestFormatL +// --------------------------------------------------------------------------- +// +void CBCDomainTestNotifierCase::TestFormatL() + { + _LIT( KCAknPhoneNumberEditor, "CAknPhoneNumberEditor" ); + _LIT( KConstructL, "ConstructL" ); + _LIT( KString, "..." ); + _LIT( KTFormat, "TFormat" ); + _LIT( KAddFormat, "AddFormat" ); + _LIT( KCAknPhoneNumberEditorDestroy, "CAknPhoneNumberEditorDestroy" ); + _LIT( KCAknMemoryCardDialog, "CAknMemoryCardDialog" ); + _LIT( KGetSkinnedBitmapID, "GetSkinnedBitmapID" ); + _LIT( KUnlockCardLD, "UnlockCardLD" ); + + CAknPhoneNumberEditor* phonenumeditor = new ( ELeave ) CAknPhoneNumberEditor; + AssertNotNullL( phonenumeditor, KCAknPhoneNumberEditor ); + + phonenumeditor->SetContainerWindowL( *iContainer ); + phonenumeditor->ConstructL( 30, 3, 3, KString); + AssertTrueL( ETrue, KConstructL ); + + const CFont *tfont = CEikonEnv::Static()->NormalFont(); + CAknPhoneNumberEditor::TFormat tformat( CAknPhoneNumberEditor::TFormat( + TRect( 10, 10, 70, 55 ), 0, 3, 3, 15, tfont ) ); + AssertTrueL( ETrue, KTFormat ); + + phonenumeditor->AddFormat( tformat ); + AssertTrueL( ETrue, KAddFormat ); + + TResourceReader reader; + CEikonEnv::Static()->CreateResourceReaderLC( reader, + R_NUMBER_FIELD_FORM ); + CAknPhoneNumberEditor::TFormat readformat( reader ); + AssertTrueL( ETrue, KTFormat ); + + CleanupStack::PopAndDestroy( );//reader + delete phonenumeditor; + AssertTrueL( ETrue, KCAknPhoneNumberEditorDestroy ); + + + CAknNoteAttributes::GetSkinnedBitmapID( 0 ); + AssertTrueL( ETrue, KGetSkinnedBitmapID ); + + //aknmemorycarddialog.h + CAknMemoryCardDialog* memdlg = CAknMemoryCardDialog::NewLC(); + AssertNotNullL( memdlg, KCAknMemoryCardDialog ); + + memdlg->UnlockCardLD( ETrue ); + AssertTrueL( ETrue, KUnlockCardLD ); + + }