diff -r e8c1ea2c6496 -r 8758140453c0 graphics/wserv/src/T_DataAnimForMClass.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphics/wserv/src/T_DataAnimForMClass.cpp Thu Jan 21 12:53:44 2010 +0000 @@ -0,0 +1,2331 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include "T_DataAnimForMClass.h" +#include "T_GraphicsUtil.h" +#include "T_AnimDef.h" +#include "../AnimPlugin/inc/T_AnimDef.h" +#include +#include +#include "w32std.h" +#define KMaxBufSize 250 + +/*@{*/ +_LIT(KDataClassname, "RAnimForMClass"); + +/// Fields + +_LIT(KFldWin, "win"); +_LIT(KFldWingrp, "wingrp"); +_LIT(KFldSprite, "sprite"); +_LIT(KFldType, "type"); + + +_LIT(KFldOpcode, "opcode"); + + +_LIT(KFldExpected, "expected"); +_LIT(KFldRect, "rect"); +_LIT(KFldState, "state"); +_LIT(KFldWs, "ws"); +_LIT(KFldWingrpId, "windowgroupid"); +_LIT(KFldOrdinalPosition, "pos"); +_LIT(KFldOrdinalPriority, "ordinalpriority"); +_LIT(KFldScreenNumb, "screennumber"); +_LIT(KFldFullOrdinPostn, "fullpos"); +_LIT(KFldExpectedPoint, "expectedpoint"); +_LIT(KFldGetEvent, "getevent"); +_LIT(KFldInterface, "interface"); +_LIT(KFldPostRawEvent, "rawevent"); + + + + +_LIT(KFldSyncMode, "animsync"); +_LIT(KFldInterval, "interval"); +_LIT(KFldNotifications, "notification"); +_LIT(KFldMessage, "message"); +_LIT(KFldHandleBitmap, "bitmap"); +_LIT(KFldHandleFont, "font"); +_LIT(KFldMemberIndex, "member_index"); +_LIT(KFldIsFullUpdate, "isfullupdate"); +_LIT(KFldIsActivate, "isactivate"); +_LIT(KFldSetReplyBufHandle1, "slot2"); +_LIT(KFldSetReplyBufHandle2, "slot3"); +_LIT(KFldPointPosition, "pos"); +_LIT(KFldRAnim, "anim"); + +_LIT(KESyncNone , "ESyncNone"); +_LIT(KESyncFlash, "ESyncFlash"); +_LIT(KESyncSecond, "ESyncSecond"); +_LIT(KESyncMinute, "ESyncMinute"); +_LIT(KESyncDay, "ESyncDay"); + +_LIT(KENone, "ENone"); +_LIT(KEPointerMove, "EPointerMove"); +_LIT(KEPointerSwitchOn, "EPointerSwitchOn"); +_LIT(KEKeyDown, "EKeyDown"); +_LIT(KEKeyUp, "EKeyUp"); +_LIT(KERedraw, "ERedraw"); +_LIT(KESwitchOn, "ESwitchOn"); +_LIT(KEActive, "EActive"); +_LIT(KEInactive, "EInactive"); +_LIT(KEUpdateModifiers, "EUpdateModifiers"); +_LIT(KEButton1Down, "EButton1Down"); +_LIT(KEButton1Up, "EButton1Up"); +_LIT(KEButton2Down, "EButton2Down"); +_LIT(KEButton2Up, "EButton2Up"); +_LIT(KEButton3Down, "EButton3Down"); +_LIT(KEButton3Up, "EButton3Up"); +_LIT(KESwitchOff, "ESwitchOff"); +_LIT(KEKeyRepeat, "EKeyRepeat"); +_LIT(KECaseOpen, "ECaseOpen"); +_LIT(KECaseClose, "ECaseClose"); +_LIT(KERestartSystem, "ERestartSystem"); + + + +/// Commands +_LIT(KCmdnew, "new"); +_LIT(KCmdDestructorGeneral, "~"); +_LIT(KCmdDestructor, "~RAnimForMClass"); +_LIT(KCmdConstruct, "Construct"); +_LIT(KCmdCommandReply, "CommandReply"); +_LIT(KCmdDestroy, "Destroy"); +_LIT(KCmdClose, "Close"); + +/// Logging +_LIT(KLogErrMissingPara, "Missing parameter '%S'"); + + +_LIT(KLogErrConstruct, "Construct return err = %d"); +_LIT(KLogInfoCmdConstruct1, "execute RAnimForMClass::Construct(const RWindowBase &, TInt, const TDesC8 &)"); + +_LIT(KLogInfoCmdConstruct3, "execute RAnimForMClass::Construct(const RWsSprite &, TInt, const TDesC8 &)"); + +_LIT(KLogErrCommandReply, "CommandReply return err = %d"); +_LIT(KLogInfoCmdCommandReply1, "execute RAnimForMClass::CommandReply(TInt),opcode=%d"); + +_LIT(KLogInfoCmdCommandReply3, "execute RAnimForMClass::CommandReply(TInt, const TDesC8 &, const TIpcArgs &),opcode=%d"); + +_LIT(KLogInfoCmdDestroy, "execute RAnimForMClass::Destroy()"); +_LIT(KLogInfoCmdDestructor1, "execute ~RAnimForMClass()"); +_LIT(KLogMissingParameter, "Missing parameter '%S'"); +_LIT(KlogDateTime, "DateTime"); +/*@}*/ + +CT_DataAnimForMClass* CT_DataAnimForMClass::NewL() + { + CT_DataAnimForMClass* ret = new (ELeave) CT_DataAnimForMClass(); + CleanupStack::PushL(ret); + ret->ConstructL(); + CleanupStack::Pop(ret); + return ret; + } + +CT_DataAnimForMClass::CT_DataAnimForMClass() +: iActiveCallback(NULL) + ,iAnim(NULL) + { + } + +void CT_DataAnimForMClass::ConstructL() + { + iSendBuf.CreateL(KMaxBufSize); + iSendBuf.FillZ(1); + + for (TInt i=0;i (aAny); + } + +void CT_DataAnimForMClass::DisownObjectL() + { + iAnim = NULL; + } + +void CT_DataAnimForMClass::DestroyData() + { + DoCmdDestroy(); + } + +/** +* Process a command read from the ini file +* +* @param aCommand the command to process +* @param aSection the entry in the ini file requiring the command to be processed +* @return ETrue if the command is processed +*/ +TBool CT_DataAnimForMClass::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection,const TInt) + { + TBool ret = ETrue; + + if ( aCommand==KCmdDestructorGeneral || aCommand==KCmdDestructor ) + { + DoCmdDestructor(); + } + else if ( aCommand==KCmdnew || aCommand==KDataClassname ) + { + DoCmdnewL(aSection); + } + else if ( aCommand==KCmdConstruct ) + { + DoCmdConstructL(aSection); + } + else if ( aCommand==KCmdCommandReply ) + { + DoCmdCommandReplyL(aSection); + } + else if ( aCommand==KCmdDestroy ) + { + DoCmdDestroy(); + } + else if ( aCommand==KCmdClose ) + { + DoCmdClose(); + } + else + { + ret=EFalse; + } + + return ret; + } + +void CT_DataAnimForMClass::DoCmdnewL(const TDesC& aSection) + { + DestroyData(); + TPtrC datRAnimName ; + if ( GetStringFromConfig(aSection, KFldRAnim, datRAnimName)) + { + iAnim = static_cast(GetDataObjectL(datRAnimName)); + } + else + ERR_PRINTF2(KLogErrMissingPara, &KFldWin); + } + +void CT_DataAnimForMClass::ResetIpcArg() + { + for (TInt i=0; i(GetDataObjectL(datWinName)); + } + else if ( GetStringFromConfig(aSection, KFldSprite, datSpriteName)) + { + sprite = static_cast(GetDataObjectL(datSpriteName)); + } + if (!win && !sprite ) + { + dataOk = EFalse; + ERR_PRINTF2(KLogErrMissingPara, &KFldWin); + ERR_PRINTF2(KLogErrMissingPara, &KFldSprite); + } + + //Get "TInt aType" + TInt datType; + if ( !CT_GraphicsUtil::ReadAnimType(*this,aSection, KFldType, datType)) + { + dataOk = EFalse; + ERR_PRINTF2(KLogErrMissingPara, &KFldType); + } + + // Get "const TDesC8 &aArgs" + TPtrC inputStr; + + // get "const TIpcArgs &aIpcArgs" + + if ( !dataOk ) + { + SetBlockResult(EFail); + } + else + { + // Execute command and log parameters + if (win) + { + INFO_PRINTF1(KLogInfoCmdConstruct1); + if (iAnim != NULL) + err = iAnim->Construct(*win, datType, iSendBuf); + } + + else + { + INFO_PRINTF1(KLogInfoCmdConstruct3); + if (iAnim != NULL) + err = iAnim->Construct(*sprite, datType, iSendBuf); + } + + // Check the command return code + if(err != KErrNone) + { + ERR_PRINTF2(KLogErrConstruct, err); + SetError(err); + } + } + } + +void CT_DataAnimForMClass::DoCmdCommandReplyL(const TDesC& aSection) + { + + // Get test data for command input parameter(s) + TBool dataOk = ETrue; + + // Get "TInt aOpcode" + TInt datOpcode; + if ( !CT_GraphicsUtil::ReadAnimCommand(*this, aSection, KFldOpcode, + datOpcode))//ReadAnimCommand():Convert datOpcode from string type to Int type + { + dataOk = EFalse; + ERR_PRINTF2(KLogErrMissingPara, &KFldOpcode); + } + + if (!dataOk) + { + _LIT(KFailed, "Can not read the Operation code from the config file. Failed. "); + INFO_PRINTF1(KFailed); + SetBlockResult(EFail); + } + switch (datOpcode) + { + //Util + case ECmdRetrieveResult: + DoCmdRetrieveResult(aSection, datOpcode); + break; + case ECmdUtilEatupMemory: + DoCmdEatupMemory(datOpcode); + break; + case ECmdUtilFreeEatenMemory: + DoCmdFreeEatenMemory(datOpcode); + break; + // The MAnimGeneralFunctioins + case ECmdGeneralAnimate: + DoCmdGeneralAnimate(aSection, datOpcode); + break; + case ECmdGeneralClient: + DoCmdGeneralClient(aSection, datOpcode); + break; + case ECmdGeneralFlashStateOn: + DoCmdGeneralFlashStateOn(aSection, datOpcode); + break; + case ECmdGeneralPanic: + DoCmdGeneralPanic(aSection, datOpcode) ; + break; + case ECmdGeneralScreenDevice: + DoCmdGeneralScreenDevice(aSection, datOpcode) ; + break; + case ECmdGeneralExtendedInterface: + DoCmdGeneralExtendedInterface(aSection, datOpcode) ; + break; + case ECmdGeneralWindowExtension: + DoCmdGeneralWindowExtension(aSection, datOpcode) ; + break; + case ECmdGeneralNumOfExtInterfaces: + DoCmdGeneralNumOfExtInterfaces(aSection, datOpcode) ; + break; + case ECmdGeneralEventExtension: + DoCmdGeneralEventExtension(aSection, datOpcode) ; + break; + case ECmdGeneralGetRawEvents: + DoCmdGeneralGetRawEvents(aSection, datOpcode); + break; + case ECmdGeneralPostRawEvent: + DoCmdGeneralPostRawEvent(aSection, datOpcode); + break; + case ECmdGeneralPostKeyEvent: + DoCmdGeneralPostKeyEventL(aSection, datOpcode); + break; + case ECmdGeneralSetSync: + DoCmdGeneralSetSync(aSection, datOpcode); + break; + case ECmdGeneralSync: + DoCmdGeneralSync(aSection, datOpcode); + break; + case ECmdGeneralSetInterval: + DoCmdGeneralSetInterval(aSection, datOpcode); + break; + case ECmdGeneralSetNextInterval: + DoCmdGeneralSetNextInterval(aSection, datOpcode); + break; + case ECmdGeneralSystemTime: + DoCmdGeneralSystemTime(aSection, datOpcode); + break; + case ECmdGeneralRegisterForNotis: + DoCmdGeneralRegisterForNotis(aSection, datOpcode); + break; + case ECmdGeneralMessage: + DoCmdGeneralMessage(aSection, datOpcode); + break; + case ECmdGeneralDuplicateBitmapL: + DoCmdGeneralDuplicateBitmapL(aSection, datOpcode); + break; + case ECmdGeneralDuplicateFontL: + DoCmdGeneralDuplicateFontL(aSection, datOpcode); + break; + case ECmdGeneralCloseFont: + DoCmdGeneralCloseFontL(aSection, datOpcode); + break; + case ECmdGeneralReplyBuf8: + DoCmdGeneralReplyBuf8(aSection, datOpcode); + break; + case ECmdGeneralReplyBuf16: + DoCmdGeneralReplyBuf16(aSection, datOpcode); + break; + // the MAnimSpriteFunctioins + case ECmdSpriteGetSpriteMember: + DoCmdSpriteGetSpriteMember(aSection, datOpcode); + break; + case ECmdSpriteUpdateMember: + DoCmdSpriteUpdateMember(aSection, datOpcode) ; + break; + case ECmdSpriteActivate: + DoCmdSpriteActivate(aSection, datOpcode) ; + break; + case ECmdSpriteSpriteCanBeSeen: + DoCmdSpriteSpriteCanBeSeen(aSection, datOpcode) ; + break; + case ECmdSpriteSizeChangedL: + DoCmdSpriteSizeChangedL(aSection, datOpcode) ; + break; + case ECmdSpriteSetPosition: + DoCmdSpriteSetPosition(aSection, datOpcode) ; + break; + //MAnimWindowFunctions + case ECmdWindowActivateGc: + { + DoWindowActivateGc(datOpcode); + break; + } + case ECmdWindowSetRect: + case ECmdWindowIsStarted: + { + DoWindowSetRect(datOpcode, aSection); + break; + } + case ECmdWindowWindowSize: + { + DoWindowWindowSizeL(datOpcode, aSection); + break; + } + case ECmdWindowIsHidden: + { + DoWindowIsHidden(datOpcode, aSection); + break; + } + case ECmdWindowSetVisible: + { + DoWindowSetVisible(datOpcode, aSection); + break; + } + case ECmdWindowInvalidate: + { + DoWindowInvalidate(datOpcode, aSection); + break; + } + case ECmdWindowParameters: + { + DoWindowParametersL(datOpcode, aSection); + break; + } + case ECmdWindowVisibleRegion: + { + DoWindowVisibleRegion(datOpcode, aSection); + break; + + } + //MAnimGeneralFunctionsWindowExtension + case ECmdGfweScreens: + { + DoGeneralExtScreensL(datOpcode, aSection); + break; + } + case ECmdGfweFocusScreens: + { + DoGeneralExtFocusScreensL(datOpcode, aSection); + break; + } + case ECmdGfweSetFocusScreen: + { + DoGeneralExtSetFocusScreen(datOpcode, aSection); + break; + } + case ECmdGfweWindowGroups: + { + DoGeneralExtWindowGroupsL(datOpcode, aSection); + break; + } + case ECmdGfweWindowGroupInfo: + { + DoGeneralExtWindowGroupInfoL(datOpcode, aSection); + break; + } + case ECmdGfweWindowGroupName: + { + DoGeneralExtWindowGroupNameL(datOpcode, aSection); + break; + } + case ECmdGfweSetOrdinalPosition: + { + DoGeneralExtSetOrdinalPositionL(datOpcode, aSection); + break; + } + //MAnimFreeTimerWindowFunctions + case ECmdFreeTimerWinDeactivateGc: + { + DoFreeTimerWinDeactivateGc(datOpcode); + break; + } + case ECmdFreeTimerWinUpdate: + { + DoFreeTimerWinUpdate(datOpcode); + break; + } + default: + { + _LIT(KFailed2, "Unsupported operation code. "); + INFO_PRINTF1(KFailed2); + break; + } + } + } + +void CT_DataAnimForMClass::DoCmdClose() + { + iAnim = NULL ; + } + +void CT_DataAnimForMClass::DoCmdDestroy() + { + INFO_PRINTF1(KLogInfoCmdDestroy); + iAnim = NULL ; + } + +void CT_DataAnimForMClass::DoCmdDestructor() + { + // Execute command and log parameters + INFO_PRINTF1(KLogInfoCmdDestructor1); + iAnim = NULL; + } + +//*************************MAnimWindowFunctions verifying******************************** +void CT_DataAnimForMClass::DoWindowActivateGc(TInt aOpcode) + { + INFO_PRINTF2(KLogInfoCmdCommandReply1, aOpcode); + TInt err=iAnim->CommandReply(aOpcode); + INFO_PRINTF2(KLogErrCommandReply, err); + + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + } + +void CT_DataAnimForMClass::DoWindowSetRect(TInt aOpcode, const TDesC& aSection) + { + switch (aOpcode) + { + case ECmdWindowSetRect: + { + TPtrC8 ptr; + TRect sendRect; + if (!GetRectFromConfig(aSection, KFldRect, sendRect)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldRect()); + SetBlockResult(EFail); + } + TPckgBuf sendVal(sendRect); + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1, &sendVal); + + INFO_PRINTF2(KLogInfoCmdCommandReply3, aOpcode); + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, err); + + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + ResetIpcArg(); + break; + } + case ECmdWindowIsStarted: + { + INFO_PRINTF2(KLogInfoCmdCommandReply1, aOpcode); + TInt err=iAnim->CommandReply(aOpcode); + INFO_PRINTF2(KLogErrCommandReply, err); + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + break; + } + } + } + +void CT_DataAnimForMClass::DoWindowWindowSizeL(TInt aOpcode,const TDesC& aSection) + { + TPtrC8 ptr; + TPtrC datWinName; + RWindowBase* win= NULL; + if (GetStringFromConfig(aSection, KFldWin, datWinName)) + { + win = static_cast(GetDataObjectL(datWinName)); + } + TSize expected=win->Size(); + TSize resultBuf; + TPckgBuf retrndPck(expected); + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1, &retrndPck); + INFO_PRINTF2(KLogInfoCmdCommandReply3, aOpcode); + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, err); + + resultBuf=retrndPck(); + if (expected!=resultBuf) + { + ERR_PRINTF5(_L("The returned value is not as expected, expected: (%d,%d), actual: (%d,%d)"), expected.iWidth,expected.iHeight, resultBuf.iWidth,resultBuf.iHeight); + SetBlockResult(EFail); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoWindowIsHidden(TInt aOpcode,const TDesC& aSection) + { + TBool expectedVal; + + if (!GetBoolFromConfig(aSection, KFldExpected, expectedVal)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldExpected()); + SetBlockResult(EFail); + } + else + { + INFO_PRINTF2(KLogInfoCmdCommandReply1, aOpcode); + TInt actual=iAnim->CommandReply(aOpcode); + INFO_PRINTF2(KLogErrCommandReply, actual); + if (actual!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, actual); + SetBlockResult(EFail); + } + } + } + +void CT_DataAnimForMClass::DoWindowSetVisible(TInt aOpcode,const TDesC& aSection) + { + TBool setVisible; + TPtrC8 ptr; + + if (!GetBoolFromConfig(aSection, KFldState, setVisible)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldState()); + SetBlockResult(EFail); + } + + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf setVisiblePck(setVisible); + iIpcArgs.Set(1, &setVisiblePck); + INFO_PRINTF2(KLogInfoCmdCommandReply3, aOpcode); + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, err); + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoWindowInvalidate(TInt aOpcode,const TDesC& aSection) + { + TPtrC datWinName; + TPtrC8 ptr; + TRect rectVal; + if (!GetRectFromConfig(aSection, KFldRect, rectVal)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldRect()); + SetBlockResult(EFail); + } + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf rectValPck(rectVal); + iIpcArgs.Set(1, &rectValPck); + INFO_PRINTF2(KLogInfoCmdCommandReply3, aOpcode); + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, err); + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoWindowParametersL(TInt aOpcode,const TDesC& aSection) + { + RWindowBase* win= NULL; + TSize expectedSize; + TInt expectedDisplyMd; + TPtrC val; + TPtrC8 ptr; + TPtrC datWinName; + TPckgBuf retrndWindowPostn; + TPckgBuf retrndDisplyMd; + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1, &retrndWindowPostn); + iIpcArgs.Set(2, &retrndDisplyMd); + + //Send command to server + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, err); + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + else + { + //Get the window's Size and Displaymode + if (GetStringFromConfig(aSection, KFldWin, datWinName)) + { + win = static_cast(GetDataObjectL(datWinName)); + } + expectedSize=win->Size(); + expectedDisplyMd=win->DisplayMode(); + + TRect retrndWinInf=retrndWindowPostn(); + TSize retrndSize=retrndWinInf.Size(); + TInt retrndDisplyM=retrndDisplyMd(); + + if (retrndSize!=expectedSize) + { + ERR_PRINTF5(_L("The value is not as expected! expected: (%d,%d), actual: (%d,%d)"), expectedSize.iWidth,expectedSize.iHeight, retrndSize.iWidth,retrndSize.iHeight); + SetBlockResult(EFail); + } + if (retrndDisplyM!=expectedDisplyMd) + { + ERR_PRINTF3(_L("The value is not as expected! expected: %d, actual: %d"), expectedDisplyMd, retrndDisplyM); + SetBlockResult(EFail); + } + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoWindowVisibleRegion(TInt aOpcode,const TDesC& aSection) + { + TInt expecteValue; + TInt actual; + + if (!GetIntFromConfig(aSection, KFldExpected, expecteValue)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldExpected()); + SetBlockResult(EFail); + } + else + { + actual=iAnim->CommandReply(aOpcode); + INFO_PRINTF2(KLogErrCommandReply, actual); + if (actual!=expecteValue) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expecteValue, actual); + SetBlockResult(EFail); + } + } + } + +//****************MAnimGeneralFunctionsWindowExtension verifying******************************* + +void CT_DataAnimForMClass::DoGeneralExtScreensL(TInt aOpcode,const TDesC& aSection) + { + RWsSession* ws; + TPtrC datWsName; + if (GetStringFromConfig(aSection, KFldWs, datWsName)) + { + ws = static_cast(GetDataObjectL(datWsName)); + } + TInt actualScreenNumb=iAnim->CommandReply(aOpcode); + INFO_PRINTF2(KLogErrCommandReply, actualScreenNumb); + } + +void CT_DataAnimForMClass::DoGeneralExtFocusScreensL(TInt aOpcode,const TDesC& aSection) + { + RWsSession* ws; + TPtrC datWsName; + TInt expectedVal; + + TInt actual=iAnim->CommandReply(aOpcode); + INFO_PRINTF2(_L("FocuseScreens is %d"),actual); + + //If there is no expected value set in ini file, get the focus screen; + if (!GetIntFromConfig(aSection, KFldExpected, expectedVal)) + { + if (GetStringFromConfig(aSection, KFldWs, datWsName)) + { + ws = static_cast(GetDataObjectL(datWsName)); + } + + expectedVal=ws->GetFocusScreen(); + } + + if (actual!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, actual); + SetBlockResult(EFail); + } + } + +void CT_DataAnimForMClass::DoGeneralExtSetFocusScreen(TInt aOpcode,const TDesC& aSection) + { + TInt screenNo; + TPtrC8 ptr; + TPtrC datWsName; + + if (!GetIntFromConfig(aSection, KFldScreenNumb, screenNo)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldScreenNumb()); + SetBlockResult(EFail); + } + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf screenNoPck(screenNo); + iIpcArgs.Set(1, &screenNoPck); + TInt actual=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, actual); + + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoGeneralExtWindowGroupsL(TInt aOpcode,const TDesC& aSection) + { + TPtrC8 ptr; + TInt screenNo; + TPtrC datWsName; + RWsSession* ws; + if (!GetIntFromConfig(aSection, KFldScreenNumb, screenNo)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldScreenNumb()); + SetBlockResult(EFail); + } + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf screenNoPck(screenNo); + iIpcArgs.Set(1, &screenNoPck); + TInt actual=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, actual); + + if (!GetStringFromConfig(aSection, KFldWs, datWsName)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldWs()); + SetBlockResult(EFail); + } + ws = static_cast(GetDataObjectL(datWsName)); + TInt expectedVal=ws->NumWindowGroups(); + + if (actual!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, actual); + SetBlockResult(EFail); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoGeneralExtWindowGroupInfoL(TInt aOpcode,const TDesC& aSection) + { + TInt screenNo; + TPtrC8 ptr; + TPtrC datWingrpName; + TInt retrnPck; + TInt expectedGrpInfo; + RWindowGroup* wingrp; + //Get window group object in order to verify the window group's name's existance. + if (!GetStringFromConfig(aSection, KFldWingrp, datWingrpName)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldWingrp()); + SetBlockResult(EFail); + } + wingrp = static_cast(GetDataObjectL(datWingrpName)); + + //Get screen number from ini file and set to IPC slot 1. + if (!GetIntFromConfig(aSection, KFldScreenNumb, screenNo)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldScreenNumb()); + SetBlockResult(EFail); + } + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf screenNoPck(screenNo); + iIpcArgs.Set(1, &screenNoPck); + + //Get fullOrdipostion from ini or by using FullOrdinalPosition method and set to IPC slot 2. + TInt fullOrdiPostion; + if (!GetIntFromConfig(aSection, KFldFullOrdinPostn, fullOrdiPostion)) + { + fullOrdiPostion=wingrp->FullOrdinalPosition(); + } + TPckgBuf fullOrdiPostionPck(fullOrdiPostion); + iIpcArgs.Set(2, &fullOrdiPostionPck); + + //Set IPC slot 3 to receive ID of the TWindowGroupInfo. + TPckgBuf retrnWinGrpInfo; + iIpcArgs.Set(3, &retrnWinGrpInfo); + + TInt actual=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, actual); + TBool expectedVal; + if (!GetBoolFromConfig(aSection, KFldExpected, expectedVal)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldExpected); + SetBlockResult(EFail); + } + if (actual!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, actual); + SetBlockResult(EFail); + } + if (actual!=EFalse) + { + retrnPck=retrnWinGrpInfo();//Get returned window group ID + + expectedGrpInfo=wingrp->WindowGroupId(); + if (retrnPck!=expectedGrpInfo) + { + ERR_PRINTF3( + _L("The returned value is not as expected, expected: %d, actual: %d"), + expectedGrpInfo, retrnPck); + SetBlockResult(EFail); + } + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoGeneralExtWindowGroupNameL(TInt aOpcode,const TDesC& aSection) + { + TBuf<32> getWindowName; + TBool expectedVal; + TInt screenNo; + TInt fullOrdiPostion; + //Get Screen number from ini and set to IPC slot 1. + if (!GetIntFromConfig(aSection, KFldScreenNumb, screenNo)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldScreenNumb); + SetBlockResult(EFail); + } + TPtrC8 ptr; + TPckgBuf screenNoPck(screenNo); + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1, &screenNoPck); + + TPtrC datWingrpName; + RWindowGroup* wingrp; + //Get window group object + if (!GetStringFromConfig(aSection, KFldWingrp, datWingrpName)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldWingrp()); + SetBlockResult(EFail); + } + wingrp = static_cast(GetDataObjectL(datWingrpName)); + //Get fullOrdinary position and set to IPC slot 2. + if (!GetIntFromConfig(aSection, KFldFullOrdinPostn, fullOrdiPostion)) + { + fullOrdiPostion=wingrp->FullOrdinalPosition(); + } + + TPckgBuf fullOrdiPostionPck(fullOrdiPostion); + iIpcArgs.Set(2, &fullOrdiPostionPck); + //Set IPC slot 3 to receive the window name returned from server side. + TBuf<32> retrnWindowName; + iIpcArgs.Set(3, &retrnWindowName); + + TInt actual=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + INFO_PRINTF2(KLogErrCommandReply, actual); + if (!GetBoolFromConfig(aSection, KFldExpected, expectedVal)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldExpected); + SetBlockResult(EFail); + } + if (actual!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, actual); + SetBlockResult(EFail); + } + //If commandreply returns ETrue then check the window group's name. + if (actual) + { + TInt result=wingrp->Name(getWindowName); + if (result!=KErrNone) + { + ERR_PRINTF1(_L("Failed to get the window group's name!")); + SetError(result); + } + INFO_PRINTF3(_L("Check the group name is expected. expected: %d,actual: %d"),&getWindowName,&retrnWindowName); + if (getWindowName!=retrnWindowName) + { + ERR_PRINTF1(_L("The returned window group name is not expected")); + SetBlockResult(EFail); + } + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoGeneralExtSetOrdinalPositionL(TInt aOpcode,const TDesC& aSection) + { + TInt expectedVal; + TPtrC8 ptr; + TInt wingrpid; + TInt newOrdinPrio; + TInt newOrdinaPostn; + TPtrC datWingrpName; + RWindowGroup* wingrp; + if (GetStringFromConfig(aSection, KFldWingrp, datWingrpName)) + { + wingrp = static_cast(GetDataObjectL(datWingrpName)); + } + //Before sending command, get window group ID from wrapper or ini as arg(IPC slot 1) + if (!GetIntFromConfig(aSection, KFldWingrpId, wingrpid)) + { + wingrpid=wingrp->WindowGroupId(); + INFO_PRINTF2(_L("RWindowTreeNode::WindowGroupId = %d"), wingrpid); + } + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf wingrpidPck(wingrpid); + iIpcArgs.Set(1, &wingrpidPck); + + //Get Group Id from wrapper or ini and send to server as IPC slot2 + if (!GetIntFromConfig(aSection, KFldOrdinalPosition, newOrdinaPostn)) + { + newOrdinaPostn = wingrp->OrdinalPosition(); + INFO_PRINTF2(_L("RWindowTreeNode::FullOrdinalPosition = %d"), newOrdinaPostn); + } + TPckgBuf newOrdinaPostnPck(newOrdinaPostn); + iIpcArgs.Set(2, &newOrdinaPostnPck); + + //Get new ordinal priority of the window as arg(IPC slot 3) from ini file; + if (!GetIntFromConfig(aSection, KFldOrdinalPriority, newOrdinPrio)) + { + newOrdinPrio = wingrp->OrdinalPriority(); + INFO_PRINTF2(_L("RWindowTreeNode::FullOrdinalPriority = %d"), newOrdinPrio); + } + TPckgBuf newOrdinPrioPck(newOrdinPrio); + iIpcArgs.Set(3, &newOrdinPrioPck); + + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + if (!GetIntFromConfig(aSection, KFldExpected, expectedVal)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldExpected); + SetBlockResult(EFail); + } + + if (err!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, err); + SetBlockResult(EFail); + } + //Get the new OrdinalPostion and Priority using window group methods; + if (err!=KErrNotFound) + { + TInt retrnOrdinPostn=wingrp->OrdinalPosition(); + TInt retrnOrdinPrio=wingrp->OrdinalPriority(); + + if (retrnOrdinPostn!=newOrdinaPostn) + { + ERR_PRINTF3( + _L("The returned ordinalposition is not as expected, expected: %d, actual: %d"), + newOrdinaPostn, retrnOrdinPostn); + SetBlockResult(EFail); + } + + if (retrnOrdinPrio!=newOrdinPrio) + { + ERR_PRINTF3( + _L("The returned ordinalpriority is not as expected, expected: %d, actual: %d"), + newOrdinPrio, retrnOrdinPrio); + SetBlockResult(EFail); + } + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoGeneralExtIsFocusableL(TInt aOpcode, const TDesC& aSection) + { + TInt screenNub; + TBool expectedVal; + TInt sendFullOrdinPstn; + if (!GetIntFromConfig(aSection, KFldScreenNumb, screenNub)) + { + ERR_PRINTF2(KLogErrMissingPara, &KFldScreenNumb); + } + TPtrC8 ptr; + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf screenNubPck(screenNub); + iIpcArgs.Set(1, &screenNubPck); + + TPtrC datWingrpName; + RWindowGroup* wingrp; + if (GetStringFromConfig(aSection, KFldWingrp, datWingrpName)) + { + wingrp = static_cast(GetDataObjectL(datWingrpName)); + } + + //Get animation window's FullOrdinalPosition as arg(IPC slot 2) + + sendFullOrdinPstn = wingrp->FullOrdinalPosition(); + INFO_PRINTF2(_L("RWindowTreeNode::FullOrdinalPosition = %d"), sendFullOrdinPstn); + TPckgBuf sendFullOrdinPstnPck(sendFullOrdinPstn); + iIpcArgs.Set(2, &sendFullOrdinPstnPck); + + //Check the CommandReply return value + TInt err=iAnim->CommandReply(aOpcode, ptr, iIpcArgs); + if (!GetBoolFromConfig(aSection, KFldExpected, expectedVal)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldExpected); + SetBlockResult(EFail); + } + + if (err!=expectedVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectedVal, err); + SetBlockResult(EFail); + } + ResetIpcArg(); + } + +//*******************MAnimFreeTimerWindowFunction verifying******************************* +void CT_DataAnimForMClass::DoFreeTimerWinDeactivateGc(TInt aOpcode) + { + INFO_PRINTF2(_L("Excute %d"), aOpcode); + TPtrC8 ptr; + TInt err=iAnim->CommandReply(aOpcode, ptr); + if (err != KErrNone) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetError(err); + } + } + +void CT_DataAnimForMClass::DoFreeTimerWinUpdate(TInt aOpcode) + { + INFO_PRINTF1(KLogInfoCmdCommandReply1); + + TInt err=iAnim->CommandReply(aOpcode); + + if(err!=KErrNone) + { + ERR_PRINTF2(_L("CommandReply failed with error %d"), err); + SetError(err); + } + } + +//------------------------------------------------------------------------------------ +void CT_DataAnimForMClass::DoCmdRetrieveResult(const TDesC& aSectName , const TInt& datOpcode) + { + TInt result = iAnim->CommandReply(datOpcode); + TBool expectdVal; + //Get expected value from ini file. + if(!GetBoolFromConfig(aSectName,KFldExpected,expectdVal)) + { + if ( result != KErrNone) + ERR_PRINTF2( KLogErrCommandReply, result); + else // success + { + INFO_PRINTF1(_L("Retrieve Result event return ETrue")); + } + } + if(result!=expectdVal) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expectdVal, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("Retrieve Result equals to the expected value")); + } + } + +void CT_DataAnimForMClass::DoCmdGeneralAnimate(const TDesC& aSectName, const TInt& datOpcode ) + { + //Get the datetime from the ini file + TDateTime dateTime ; + if(!GetDateTimeFromConfig(aSectName, dateTime)) + { + ERR_PRINTF2(KLogMissingParameter , &KlogDateTime); + SetBlockResult(EFail); + } + TPckgBuf sendPckg(dateTime); + iIpcArgs.Set(0,TIpcArgs::ENothing); + iIpcArgs.Set(1, &sendPckg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + // Send the command to notify the server + TInt ret = iAnim->CommandReply(datOpcode, iSendBuf, iIpcArgs); + + // Check the command return code + if(ret == KErrNone) + { + ERR_PRINTF2( KLogErrCommandReply, ret); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("General Animate invoked succesffully and return successfully ")); + } + ResetIpcArg(); + } + + +void CT_DataAnimForMClass::DoCmdGeneralClient(const TDesC& /*aSectName*/, const TInt& datOpcode ) + { + // Send the command to notify the server + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt ret = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + // Check the return thread id equals to the client thread or not. + TInt clientThreadId = RThread().Id().Id(); + + if ( ret == clientThreadId ) + { + INFO_PRINTF1(_L("General client invoked succesffully")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, ret); + SetBlockResult (EFail); + } + } + + +void CT_DataAnimForMClass::DoCmdGeneralFlashStateOn(const TDesC& aSectName, const TInt& datOpcode ) + { + // Send the command to notify the server. + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TBool expected(EFalse); + TInt ret = -1 ; + + if ( !GetBoolFromConfig(aSectName,KFldExpected, expected) ) + { + ERR_PRINTF2(KLogMissingParameter , &KFldExpected); + SetBlockResult(EFail); + } + + ret = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + //If ret return -1, the result value can not be trusted(Please refer to the code in AnimPlugin::WinAnim). + //So it need another calling untill the ret return a ETrue or EFalse. + while(ret == -1) + { + User::After(100000); + ret = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + } + + + // Check if the return is ETrue (1) or EFalse(0) + if ( ret == static_cast(expected) ) + { + INFO_PRINTF1(_L("GeneralFlashStateOn invoked succesffully. Return code equals to expected vaule ")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, ret); + SetBlockResult (EFail); + } + } + +void CT_DataAnimForMClass::DoCmdGeneralPanic(const TDesC& /*aSectName*/ , const TInt& datOpcode) + { + //Send the command to notify the server. + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt err = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //The client will be paniced by the server + INFO_PRINTF1(_L("GeneralPanic invoked successfully")); + } + +void CT_DataAnimForMClass::DoCmdGeneralScreenDevice(const TDesC& /*aSectName*/ , const TInt& datOpcode ) + { + //Send the command to notify the server . + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt ret = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check if the return code is 0(Success) or not. + if ( ret == KErrNone ) + { + INFO_PRINTF1(_L("GeneralScreenDevice invoked succesffully.")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, ret); + SetBlockResult (EFail); + } + } + +void CT_DataAnimForMClass::DoCmdGeneralWindowExtension(const TDesC& /*aSectName*/, const TInt& datOpcode) + { + // Send the command to notify the server . + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt ret = iAnim->CommandReply(datOpcode, iSendBuf, iIpcArgs); + + // Check if the return code is 0(Success) or not. + if (ret == KErrNone) + { + INFO_PRINTF1(_L("GeneralWindowExtension invoked succesffully.")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, ret); + SetBlockResult(EFail); + } + } + +void CT_DataAnimForMClass::DoCmdGeneralEventExtension( const TDesC& /*aSectName*/,const TInt& datOpcode) + { + // Send the command to notify the server . + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt ret = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + // Check if the return code is 0(Success) or not. + if ( ret == KErrNone ) + { + INFO_PRINTF1(_L("GeneralEventExtension invoked succesffully.")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, ret); + SetBlockResult (EFail); + } + } + + void CT_DataAnimForMClass::DoCmdGeneralExtendedInterface(const TDesC& aSectName , const TInt& datOpcode ) + { + TInt interface ; + //Get interface from ini file and set it as IpcArgs 1. + if ( !GetIntFromConfig(aSectName,KFldInterface, interface) ) + { + ERR_PRINTF2(KLogMissingParameter , &KFldInterface); + SetBlockResult (EFail); + } + TPckgBuf sendPckg(interface); + iIpcArgs.Set(0,TIpcArgs::ENothing); + iIpcArgs.Set(1, &sendPckg); + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + // Check the command return code + if ( interface == 0 ) + { + TInt expected ; + + if ( !GetIntFromConfig(aSectName,KFldExpected, expected) ) + { + ERR_PRINTF2(KLogMissingParameter , &KFldInterface); + SetBlockResult (EFail); + } + if ( result != expected ) /*so far, the expected value is 2.*/ + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("extended interface return is okay when the input paramter is 0")); + } + } + else if( interface == 1 ) + { + if ( result == 0) // server return 0 stands for okay. + { + INFO_PRINTF1(_L("extended interface return is okay when the input paramter is 1")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult (EFail); + } + } + else if( interface == 2 ) + { + if ( result == 0) // server return 0 stands for okay. + { + INFO_PRINTF1(_L("extended interface return is okay when the input paramter is 2")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult (EFail); + } + } + else + { + if ( result == 0) // server return 0 stands for okay. + { + INFO_PRINTF1(_L("extended interface return is a NULL pointer when the input paramter is OUT of 0~2")); + } + else + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult (EFail); + } + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoCmdGeneralNumOfExtInterfaces(const TDesC& aSectName,const TInt& datOpcode) + { + // Send the command to notify the server. + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs); + + INFO_PRINTF2(KLogErrCommandReply, result); + + // Check the return code + TInt expected; + if ( !GetIntFromConfig(aSectName,KFldExpected, expected) ) + { + ERR_PRINTF2(KLogMissingParameter , &KFldInterface); + SetBlockResult (EFail); + } + if (result != expected) // so far ,the expected value is 2. + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("NumberofExtendedInterfaces return is okay when the input paramter is 0")); + } + } + + + void CT_DataAnimForMClass::DoCmdGeneralGetRawEvents(const TDesC& aSectName , const TInt& datOpcode) + { + TBool bGetEvent; + //Get the rawevent parameter from ini file and set it as the IpcArgs 1 . + if ( !GetBoolFromConfig(aSectName,KFldGetEvent ,bGetEvent)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldGetEvent); + SetBlockResult(EFail); + } + iIpcArgs.Set(0,TIpcArgs::ENothing); + TPckgBuf sendPckg(bGetEvent); + iIpcArgs.Set(1, &sendPckg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + // Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("GetRawEvents return is okay ")); + } + } + + void CT_DataAnimForMClass::DoCmdGeneralPostRawEvent(const TDesC& aSectName , const TInt& datOpcode) + { + TRawEvent rawEvent; + TPtrC str; + //Get the post rawevent parameter from ini file and set it as the IpcArgs 1 . + if (!GetStringFromConfig(aSectName,KFldPostRawEvent,str)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldPostRawEvent); + SetBlockResult(EFail); + } + TRawEvent::TType type; + if ( str == KENone ) + type = TRawEvent::ENone; + else if ( str == KEPointerMove ) + type = TRawEvent::EPointerMove; + else if ( str == KEPointerSwitchOn) + type = TRawEvent::EPointerSwitchOn; + else if ( str == KEKeyDown ) + type = TRawEvent::EKeyDown; + else if ( str == KEKeyUp ) + type = TRawEvent::EKeyUp; + else if ( str == KERedraw) + type = TRawEvent::ERedraw; + else if ( str == KESwitchOn ) + type = TRawEvent::ESwitchOn; + else if ( str == KEActive) + type = TRawEvent::EActive; + else if ( str == KEInactive) + type = TRawEvent::EInactive; + else if ( str == KEUpdateModifiers) + type = TRawEvent::EUpdateModifiers; + else if ( str == KEButton1Down) + type = TRawEvent::EButton1Down; + else if ( str == KEButton1Up) + type = TRawEvent::EButton1Up; + else if ( str == KEButton2Down) + type = TRawEvent::EButton2Down; + else if ( str == KEButton2Up) + type = TRawEvent::EButton2Up; + else if ( str == KEButton3Down) + type = TRawEvent::EButton3Down; + else if ( str == KEButton3Up) + type = TRawEvent::EButton3Up; + else if ( str == KESwitchOff) + type = TRawEvent::ESwitchOff; + else if ( str == KEKeyRepeat) + type = TRawEvent::EKeyRepeat; + else if ( str == KECaseOpen) + type = TRawEvent::ECaseOpen; + else if ( str == KECaseClose) + type = TRawEvent::ECaseClose; + else if ( str == KERestartSystem) + type = TRawEvent::ERestartSystem; + + rawEvent.Set(type); + TPckgBuf sendPckg(rawEvent); + + iIpcArgs.Set(0,TIpcArgs::ENothing); + iIpcArgs.Set(1, &sendPckg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("PostRawEvent return is okay ")); + } + } + + + void CT_DataAnimForMClass::DoCmdGeneralPostKeyEventL(const TDesC& aSectName , const TInt& datOpcode) + { + /* + * 1.Use WinAnim plugin dll to post a key event. + * 2.Use an RWindowGroup object to capture the key event. + * */ + + TKeyEvent keyEvent; + TKeyCode aKeyCode; + _LIT( KCode , "Code"); + //Get the keycode from the ini file. + if (!CT_GraphicsUtil::ReadKeyCode(*this, aSectName, KCode , aKeyCode)) + { + ERR_PRINTF2(KLogMissingParameter , &KCode); + SetBlockResult(EFail); + } + // The keyEvent will be set as the IpcArg 1 . + TInt captureKey = aKeyCode; + keyEvent.iCode = aKeyCode; + keyEvent.iScanCode =aKeyCode; + keyEvent.iModifiers = 0; + keyEvent.iRepeats = 0; + + _LIT(KWindowGroup, "windowgroup"); + _LIT(KWsSession, "session"); + RWindowGroup* group = NULL; + RWsSession* session = NULL; + TPtrC datName; + if ( GetStringFromConfig(aSectName, KWindowGroup , datName) ) + { + group = static_cast(GetDataObjectL(datName)); + } + + if ( GetStringFromConfig(aSectName, KWsSession , datName) ) + { + session = static_cast(GetDataObjectL(datName)); + } + group->CaptureKey(captureKey, 0, 0); + TPckgBuf sendPckg(keyEvent); + iIpcArgs.Set(0,TIpcArgs::ENothing); + iIpcArgs.Set(1, &sendPckg); + TInt err = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the result is 0(Success) or not. + if (err != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, err); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("PostKeyEvent return is okay ")); + } + TRequestStatus myStatus; + session->EventReady(&myStatus); + TBool bStop = ETrue; + TWsEvent we; + while(bStop) + { + User::WaitForRequest(myStatus); + session->GetEvent(we); + if(we.Type() == EEventKey) + { + bStop = EFalse; + TInt rst = we.Key()->iCode; + if(rst != captureKey) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), captureKey, rst); + SetBlockResult(EFail); + } + else + { + _LIT(KSuccess, "PostKeyEvent successfully"); + INFO_PRINTF1(KSuccess); + } + } + else + { + session->EventReady(&myStatus); + } + }//end while + } + + void CT_DataAnimForMClass::DoCmdGeneralSetSync(const TDesC& aSectName , const TInt& datOpcode ) + { + MAnimGeneralFunctions::TAnimSync syncmode ; + TPtrC str; + // Get the syncmode to be set from ini file and set it as IpcArg 1. + if ( !GetStringFromConfig(aSectName,KFldSyncMode ,str)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldSyncMode); + SetBlockResult (EFail); + } + if (str == KESyncNone ) + syncmode = MAnimGeneralFunctions::ESyncNone ; + else if ( str == KESyncFlash) + syncmode = MAnimGeneralFunctions::ESyncFlash ; + else if ( str == KESyncSecond) + syncmode = MAnimGeneralFunctions::ESyncSecond ; + else if ( str == KESyncMinute) + syncmode = MAnimGeneralFunctions::ESyncMinute ; + else if ( str == KESyncDay) + syncmode = MAnimGeneralFunctions::ESyncDay ; + iIpcArgs.Set(0,TIpcArgs::ENothing); + TPckgBuf sendPckg(syncmode); + iIpcArgs.Set(1, &sendPckg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3) ; + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("SetSync return is okay ")); + } + } + + void CT_DataAnimForMClass::DoCmdGeneralSync(const TDesC& aSectName , const TInt& datOpcode ) + { + TInt expectedsyncmode ; + TPtrC str; + // Get the expected syncmode from ini file. + if ( !GetStringFromConfig(aSectName,KFldExpected ,str)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldExpected); + SetBlockResult(EFail); + } + if (str == KESyncNone ) + expectedsyncmode = MAnimGeneralFunctions::ESyncNone ; + else if ( str == KESyncFlash) + expectedsyncmode = MAnimGeneralFunctions::ESyncFlash ; + else if ( str == KESyncSecond) + expectedsyncmode = MAnimGeneralFunctions::ESyncSecond ; + else if ( str == KESyncMinute) + expectedsyncmode = MAnimGeneralFunctions::ESyncMinute ; + else if ( str == KESyncDay) + expectedsyncmode = MAnimGeneralFunctions::ESyncDay ; + + iIpcArgs.Set( 0, TIpcArgs::ENothing); + INFO_PRINTF1(KLogInfoCmdCommandReply3) ; + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the command return code . + if ( result != expectedsyncmode ) + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult(EFail); + } + else + { + INFO_PRINTF1(_L("GeneralSync invoked successfully")); + } + } + + void CT_DataAnimForMClass::DoCmdGeneralSetInterval(const TDesC& aSectName , const TInt& datOpcode) + { + // Get the interval from ini file and set it as IpcArg 1. + TInt interval ; + if ( !GetIntFromConfig(aSectName,KFldInterval ,interval)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldInterval); + SetBlockResult(EFail); + } + iIpcArgs.Set(0,TIpcArgs::ENothing); + TPckgBuf sendPckg(interval) ; + iIpcArgs.Set(1, &sendPckg ); + INFO_PRINTF1(KLogInfoCmdCommandReply3) ; + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the result is 0(Success) or not. + if ( result != KErrNone ) + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult(EFail); + } + else + { + INFO_PRINTF1(_L("GeneralSetInterval invoked successfully")); + } + } + + void CT_DataAnimForMClass::DoCmdGeneralSetNextInterval(const TDesC& aSectName , const TInt& datOpcode) + { + //Read the interval from ini file + TInt interval; + if ( !GetIntFromConfig(aSectName,KFldInterval ,interval)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldInterval); + return; + } + TPckgBuf sendPckg1(interval); + + TInt nextinterval ; + _LIT( KNextInterval , "nextinterval"); + //Read the next interval from ini file + if ( !GetIntFromConfig(aSectName,KNextInterval ,nextinterval)) + { + ERR_PRINTF2(KLogMissingParameter , &KNextInterval); + SetBlockResult(EFail); + } + TPckgBuf sendPckg2(nextinterval) ; + iIpcArgs.Set(0,TIpcArgs::ENothing); + iIpcArgs.Set(1, &sendPckg1); + iIpcArgs.Set(2, &sendPckg2); + INFO_PRINTF1(KLogInfoCmdCommandReply3) ; + //Send the command to notify the server. + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + + //Check the result is 0(Success) or not. + if ( result != KErrNone ) + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult(EFail); + } + else + { + INFO_PRINTF1(_L("GeneralSetNextInterval invoked successfully")); + } + } + + + void CT_DataAnimForMClass::DoCmdGeneralSystemTime(const TDesC& aSectName , const TInt& datOpcode) + { + MAnimGeneralFunctions::TAnimSync syncmode; + TPtrC str; + _LIT(KExpected , "expected"); + _LIT( KSyncMode , "animsync"); + // Get the syncmode from ini file and set it as IpcArg 1. + if ( !GetStringFromConfig(aSectName,KSyncMode ,str)) + { + ERR_PRINTF2(KLogMissingParameter , &KSyncMode); + SetBlockResult(EFail); + } + if (str == KESyncNone ) + syncmode = MAnimGeneralFunctions::ESyncNone; + else if ( str == KESyncFlash) + syncmode = MAnimGeneralFunctions::ESyncFlash; + else if ( str == KESyncSecond) + syncmode = MAnimGeneralFunctions::ESyncSecond; + else if ( str == KESyncMinute) + syncmode = MAnimGeneralFunctions::ESyncMinute; + else if ( str == KESyncDay) + syncmode = MAnimGeneralFunctions::ESyncDay; + iIpcArgs.Set(0,TIpcArgs::ENothing); + TPckgBuf sendPckg(syncmode); + iIpcArgs.Set(1, &sendPckg); + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt result = iAnim->CommandReply(datOpcode, iSendBuf , iIpcArgs ); + TBool expected; + if ( !GetBoolFromConfig(aSectName,KExpected ,expected)) + { + ERR_PRINTF2(KLogMissingParameter , &KExpected); + return; + } + if(result != static_cast(expected)) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expected, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("GeneralSystemTime invoked is okay.")); + } + } + +void CT_DataAnimForMClass::DoCmdGeneralRegisterForNotis(const TDesC& aSectName , const TInt& datOpcode) + { + TInt notifications; + TEventCode expectedCode; + // Get the notifications value from ini file and set it as IpcArg 1. + if ( !GetIntFromConfig(aSectName,KFldNotifications ,notifications)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldNotifications); + SetBlockResult(EFail); + } + + if(!CT_GraphicsUtil::ReadEventCode(*this, aSectName, KFldExpected, expectedCode)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldExpected); + return; + } + + TPckgBuf sendPckg(notifications); + TPckgBuf sendPckg2(expectedCode); + iIpcArgs.Set(0, TIpcArgs::ENothing ); + iIpcArgs.Set(1, &sendPckg ); + iIpcArgs.Set(2, &sendPckg2); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Check the result is 0(Success) or not. + if ( result != KErrNone ) + { + ERR_PRINTF2( KLogErrCommandReply, result); + SetBlockResult(EFail); + } + else + { + INFO_PRINTF1(_L("RegisterForNotis invoked successfully")); + } + } + + +void CT_DataAnimForMClass::DoCmdGeneralMessage(const TDesC& aSectName ,const TInt& datOpcode) + { + TPtrC str , expectedStr; + TBuf<100> returnStr; + // Get the sending message value from ini file and set it as IpcArg 1. + if ( !GetStringFromConfig(aSectName,KFldMessage ,str)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldMessage); + SetBlockResult(EFail); + } + // Get the expected message value from ini file . + if ( !GetStringFromConfig(aSectName,KFldExpected ,expectedStr)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldExpected); + SetBlockResult(EFail); + } + iIpcArgs.Set(0, TIpcArgs::ENothing ); + iIpcArgs.Set(1, &str); + iIpcArgs.Set(2, &returnStr); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + if(expectedStr.Compare(returnStr)) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %S, actual: %S"), &expectedStr, &returnStr); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("GeneralMessage invoked successfully")); + } + ResetIpcArg(); + } + + +void CT_DataAnimForMClass::DoCmdGeneralDuplicateBitmapL(const TDesC& aSectName , const TInt& datOpcode) + { + TPtrC str ; + TInt bmHandle; + CFbsBitmap* bmp; + // Get the object name of CFbsBitmap from ini file. + if ( !GetStringFromConfig(aSectName,KFldHandleBitmap,str)) + { + //giving a non-existed value to take the nagative case. + bmHandle = 9999; + } + else + { + bmp = static_cast(GetDataObjectL(str)); + bmHandle = bmp->Handle(); + } + + iIpcArgs.Set(0, TIpcArgs::ENothing ); + TPckgBuf sendPckg(bmHandle); + iIpcArgs.Set(1, &sendPckg ); + //Send the command to notify the server + INFO_PRINTF1(KLogInfoCmdCommandReply3); + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Print info + _LIT(KSuccess,"GeneralDuplicateBitmapL invoked successfully"); + INFO_PRINTF1(KSuccess); + ResetIpcArg(); + } + + +void CT_DataAnimForMClass::DoCmdGeneralDuplicateFontL(const TDesC& aSectName , const TInt& datOpcode) + { + TPtrC str; + TInt fntHandle; + CFbsFont* fnt; + TInt typeId; + // Get the object name of CFbsFont from ini file. + if ( !GetStringFromConfig(aSectName,KFldHandleFont,str)) + { + //giving a non-existed value to take the nagative case. + fntHandle = 9999; + } + else + { + fnt = static_cast(GetDataObjectL(str)); + typeId = fnt->TypeUid().iUid; //this is the expected value. + fntHandle = fnt->Handle(); + } + TInt result = 0; + TPckgBuf sendPckg(fntHandle); + TPckgBuf getPckg(result); + + iIpcArgs.Set(0, TIpcArgs::ENothing ); + iIpcArgs.Set(1, &sendPckg); + iIpcArgs.Set(2, &getPckg); + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + result = getPckg(); + + //Check the result + if(result == typeId) + { + INFO_PRINTF1(_L("GeneralDuplicateFontL invoked successfully")); + } + else + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), typeId, result); + SetError(KErrNoMemory); + } + ResetIpcArg(); + } + + +void CT_DataAnimForMClass::DoCmdGeneralCloseFontL(const TDesC& aSectName , const TInt& datOpcode) + { + TPtrC str ; + // Get the object name of CFbsFont from ini file. + if ( !GetStringFromConfig(aSectName,KFldHandleFont,str)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldHandleFont); + SetBlockResult(EFail); + } + CFbsFont* fnt = static_cast(GetDataObjectL(str)); + TInt typeId = fnt->TypeUid().iUid; //this is the expected value . + TInt fntHandle = fnt->Handle(); + TInt result = 0; + TPckgBuf sendPckg(fntHandle); + TPckgBuf getPckg(result); + + iIpcArgs.Set(0, TIpcArgs::ENothing ); + iIpcArgs.Set(1, &sendPckg ); + iIpcArgs.Set(2, &getPckg); + INFO_PRINTF1(KLogInfoCmdCommandReply3); + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + result = getPckg(); + if(result == typeId) + { + _LIT(KSuccess,"GeneralDuplicateFontL invoked successfully"); + INFO_PRINTF1(KSuccess); + } + else + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), typeId, result); + SetBlockResult (EFail); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoCmdGeneralReplyBuf8(const TDesC& aSectName, const TInt& datOpcode) + { + TPtrC str2; + + if ( !GetStringFromConfig(aSectName,KFldSetReplyBufHandle1,str2)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldSetReplyBufHandle1); + SetBlockResult(EFail); + } + TBuf8<100> slot2; + slot2.Append(str2); + + TPtrC str3; + + if ( !GetStringFromConfig(aSectName,KFldSetReplyBufHandle2,str3)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldSetReplyBufHandle2); + return ; + } + TBuf8<100> slot3; + slot3.Append(str3); + + TBuf8<100> result; + + iIpcArgs.Set(0, TIpcArgs::ENothing ); + iIpcArgs.Set(1, &result); + iIpcArgs.Set(2, &slot2); + iIpcArgs.Set(3, &slot3); + INFO_PRINTF1(KLogInfoCmdCommandReply3); + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + if(!result.Compare(slot3) && result.Compare(slot2)) + { + _LIT(KSuccess,"GeneralDuplicateFontL invoked successfully"); + INFO_PRINTF1(KSuccess); + } + else + { + ERR_PRINTF2(_L("The returned value is not as expected, result: %S"), &result); + SetBlockResult (EFail); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoCmdGeneralReplyBuf16(const TDesC& aSectName, const TInt& datOpcode) + { + TPtrC str2; + + if ( !GetStringFromConfig(aSectName,KFldSetReplyBufHandle1,str2)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldSetReplyBufHandle1); + SetBlockResult(EFail); + } + TBuf16<100> slot2(str2); + + TPtrC str3; + + if ( !GetStringFromConfig(aSectName,KFldSetReplyBufHandle2,str3)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldSetReplyBufHandle2); + return ; + } + TBuf16<100> slot3(str3); + + TBuf16<100> result; + + iIpcArgs.Set(0, TIpcArgs::ENothing ); + iIpcArgs.Set(1, &result); + iIpcArgs.Set(2, &slot2); + iIpcArgs.Set(3, &slot3); + INFO_PRINTF1(KLogInfoCmdCommandReply3); + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + if(!result.Compare(slot3) && result.Compare(slot2)) + { + _LIT(KSuccess,"GeneralDuplicateFontL invoked successfully"); + INFO_PRINTF1(KSuccess); + } + else + { + ERR_PRINTF2(_L("The returned value is not as expected, result: %S"), &result); + SetBlockResult (EFail); + } + ResetIpcArg(); + } +//-------------------------------------------------The MAnimSpriteFunctions ---------------------------------------- +void CT_DataAnimForMClass::DoCmdSpriteGetSpriteMember(const TDesC& aSectName , const TInt& datOpcode) + { + TInt memberindex ; + // Get the sprite member index from ini file and set it as IpcArg 1 . + if ( !GetIntFromConfig(aSectName,KFldMemberIndex ,memberindex)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldMemberIndex); + SetBlockResult(EFail); + } + iIpcArgs.Set(0, TIpcArgs::ENothing); + TPckgBuf pckg(memberindex); + TPckgBuf returnPckg; + iIpcArgs.Set(1,&pckg); + iIpcArgs.Set(2,&returnPckg); + + // Send the command to notify the server . + INFO_PRINTF1(KLogInfoCmdCommandReply3); + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + TPoint result=returnPckg(); + // Verify the result and the expected . + TPtrC spritename; + TPoint expectedPoint; + // Get the expected point value from ini file. + if ( !GetPointFromConfig(aSectName, KFldExpectedPoint, expectedPoint)) + { + ERR_PRINTF2(KLogMissingParameter, &KFldExpectedPoint); + return; + } + + if ( result != expectedPoint) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected.x: %d, expect.y: %d"), expectedPoint.iX , expectedPoint.iY); + ERR_PRINTF3(_L("The returned value is not as expected, result.x: %d, result.y: %d"), result.iX , result.iY); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("Get Sprite Member successfully")); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoCmdSpriteUpdateMember(const TDesC& aSectName , const TInt& datOpcode) + { + TInt memberindex ; + TRect rect ; + TBool isfullupdate ; + //Get the sprite member index from ini file and set it as IpcArg 1. + if ( ! GetIntFromConfig(aSectName,KFldMemberIndex ,memberindex)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldMemberIndex); + SetBlockResult(EFail); + } + //Get the rect value from ini file and set it as IpcArg 2. + if ( ! GetRectFromConfig(aSectName,KFldRect ,rect)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldRect); + SetBlockResult(EFail); + } + //Get the isfullupdate flag from ini file and set it as IpcArg 3. + if ( ! GetBoolFromConfig(aSectName,KFldIsFullUpdate ,isfullupdate)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldIsFullUpdate); + SetBlockResult(EFail); + } + + TPckgBuf memberPckg(memberindex); + TPckgBuf rectPckg(rect); + TPckgBuf updatePckg(isfullupdate); + + + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1, &memberPckg); + iIpcArgs.Set(2, &rectPckg); + iIpcArgs.Set(3, &updatePckg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("UpdateSpriteMember return is okay ")); + } + } + + +void CT_DataAnimForMClass::DoCmdSpriteActivate(const TDesC& aSectName , const TInt& datOpcode) + { + TBool isactive; + // Get the isactive flag from ini file and set as IpcArg 1. + if ( !GetBoolFromConfig(aSectName,KFldIsActivate ,isactive)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldIsActivate); + SetBlockResult(EFail); + } + TPckgBuf sendPkg(isactive) ; + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1,&sendPkg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("SpriteActive return is okay ")); + } + } + +void CT_DataAnimForMClass::DoCmdSpriteSpriteCanBeSeen(const TDesC& aSectName , const TInt& datOpcode) + { + TBool expected; + // Get the expected boolean value from the ini file. + if ( !GetBoolFromConfig(aSectName, KFldExpected, expected)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldExpected); + SetBlockResult(EFail); + } + TPckgBuf resultPkg(EFalse) ; + + + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1,&resultPkg); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Verify the result and the expected + TBool result = resultPkg() ; + + if ( result != expected ) + { + ERR_PRINTF3(_L("The returned value is not as expected, expected: %d, actual: %d"), expected, (TInt)result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("SpriteCanBeSeen return is okay ")); + } + ResetIpcArg(); + } + +void CT_DataAnimForMClass::DoCmdSpriteSizeChangedL(const TDesC& /*aSectName*/ , const TInt& datOpcode) + { + //Send the command to notify the server . + iIpcArgs.Set(0, TIpcArgs::ENothing); + + INFO_PRINTF1(KLogInfoCmdCommandReply3); + TInt result = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("SpriteSizeChangedL return is okay")); + } + } + +void CT_DataAnimForMClass::DoCmdSpriteSetPosition(const TDesC& aSectName , const TInt& datOpcode) + { + // Get the point value from ini file and set as IpcArg 1. + TPoint point ; + if ( !GetPointFromConfig(aSectName, KFldPointPosition, point)) + { + ERR_PRINTF2(KLogMissingParameter , &KFldPointPosition); + SetBlockResult(EFail); + } + TPckgBuf pkg(point) ; + iIpcArgs.Set(0, TIpcArgs::ENothing); + iIpcArgs.Set(1, &pkg) ; + INFO_PRINTF1(KLogInfoCmdCommandReply3); + //Send the command to notify the server . + TInt result = iAnim->CommandReply(datOpcode,iSendBuf,iIpcArgs); + + //Check the result is 0(Success) or not. + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("SpriteSetPosition return is okay")); + } + } + +void CT_DataAnimForMClass::DoCmdEatupMemory(const TInt& datOpcode) + { + TInt result = iAnim->CommandReply(datOpcode); + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("EatupMemory return is okay")); + } + } + +void CT_DataAnimForMClass::DoCmdFreeEatenMemory(const TInt& datOpcode) + { + TInt result = iAnim->CommandReply(datOpcode); + if (result != KErrNone ) + { + ERR_PRINTF2(KLogErrCommandReply, result); + SetBlockResult (EFail); + } + else + { + INFO_PRINTF1(_L("FreeEatenMemory return is okay")); + } + } +