--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/graphics/wserv/src/T_DataFrame.cpp Fri Dec 18 14:46:04 2009 +0000
@@ -0,0 +1,349 @@
+/*
+* 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_GraphicsUtil.h"
+#include "T_DataFrame.h"
+#include <fbs.h>
+
+/*@{*/
+//Commands
+_LIT(KCmdNew, "NewL");
+_LIT(KCmdDestroy, "~");
+_LIT(KCmdFrameInfo, "FrameInfo");
+_LIT(KCmdSetFrameInfo, "SetFrameInfo");
+_LIT(KCmdBitmap, "Bitmap");
+_LIT(KCmdSetBitmap, "SetBitmap");
+_LIT(KCmdMask, "Mask");
+_LIT(KCmdSetMask, "SetMask");
+// Fields
+_LIT(KFldFrameInfo, "frameinfostate");
+_LIT(KFldTFrame, "frame%d");
+_LIT(KFldUid, "uid");
+_LIT(KFldTWsGraphicId, "graphicid");
+_LIT(KFldSecureId, "secureid");
+_LIT(KFldSetMask, "setmask");
+_LIT(KFldSetFrameInfo, "setframeinfo");
+_LIT(KFldSetBitmap, "setbitmap");
+_LIT(KFldMask, "expected_mask");
+_LIT(KFldBitmap, "expected_bitmap");
+_LIT(KFldGotMask, "got_mask");
+_LIT(KFldGotBitmap, "got_bitmap");
+/// Logging
+_LIT(KLogError, "Error=%d");
+_LIT(KLogMissingParameter, "Missing parameter '%S'");
+_LIT(KLogNotExpectedValue, "Not expected value");
+
+_LIT(KLogNew, "execute CT_DataFrame::NewL()");
+_LIT(KLogFrameInfo, "execute CT_DataFrame::FrameInfo()");
+_LIT(KLogSetFrameInfo, "execute CT_DataFrame::SetFrameInfo(const TFrameInfo &aFrameInfo)");
+_LIT(KLogBitmap, "execute CT_DataFrame::Bitmap()");
+_LIT(KLogSetBitmap, "execute CT_DataFrame::SetBitmap(CFbsBitmap *aBitmap)");
+_LIT(KLogMask, "execute CT_DataFrame::Mask()");
+_LIT(KLogSetMask, "execute CT_DataFrame::SetMask(CFbsBitmap *aMask)");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_DataFrame::CT_DataFrame()
+: CDataWrapperBase(),iFrame(NULL)
+ {
+ }
+
+CT_DataFrame* CT_DataFrame::NewL()
+ {
+ CT_DataFrame* ret=new (ELeave) CT_DataFrame();
+ CleanupStack::PushL(ret);
+ ret->ConstructL();
+ CleanupStack::Pop(ret);
+ return ret;
+ }
+
+void CT_DataFrame::ConstructL()
+ {
+ }
+
+CT_DataFrame::~CT_DataFrame()
+ {
+ DoCmdDestroy();
+ }
+
+/**
+ * Called by TEF framework to set object.
+ *
+ * @param: None
+ *
+ * @return: None
+ */
+void CT_DataFrame::SetObjectL(TAny* aAny)
+ {
+ DoCmdDestroy();
+ iFrame = static_cast<CWsGraphicBitmapAnimation::CFrame*> (aAny);
+ }
+
+/**
+ * Called by TEF framework to disown the object.
+ *
+ * @param: None
+ *
+ * @return: None
+ */
+void CT_DataFrame::DisownObjectL()
+ {
+ iFrame = NULL;
+ }
+
+/**
+ * Destroy the object which has been constructed.
+ *
+ * @param: None
+ *
+ * @return: None
+ */
+void CT_DataFrame::DoCmdDestroy()
+ {
+ delete iFrame;
+ iFrame = NULL;
+ }
+
+/**
+* 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
+* @param aAsyncErrorIndex index of command. used for async calls
+*
+* @return ETrue if the command is processed
+*/
+TBool CT_DataFrame::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+ {
+ TBool ret = ETrue;
+
+ if ( aCommand==KCmdNew )
+ {
+ DoCmdNewL();
+ }
+ else if ( aCommand==KCmdDestroy )
+ {
+ DoCmdDestroy();
+ }
+ else if ( aCommand==KCmdFrameInfo )
+ {
+ DoCmdFrameInfo(aSection);
+ }
+ else if ( aCommand==KCmdSetFrameInfo )
+ {
+ DoCmdSetFrameInfo(aSection);
+ }
+ else if ( aCommand==KCmdBitmap )
+ {
+ DoCmdBitmapL(aSection);
+ }
+ else if ( aCommand==KCmdSetBitmap )
+ {
+ DoCmdSetBitmapL(aSection);
+ }
+ else if ( aCommand==KCmdMask )
+ {
+ DoCmdMaskL(aSection);
+ }
+ else if ( aCommand==KCmdSetMask )
+ {
+ DoCmdSetMaskL(aSection);
+ }
+ else
+ {
+ ret=EFalse;
+ }
+
+ return ret;
+ }
+
+/**
+ * Process new command
+ *
+ * @return: None
+ */
+void CT_DataFrame::DoCmdNewL()
+ {
+ // Execute command and log parameters
+ INFO_PRINTF1(KLogNew);
+ TInt err=KErrNone;
+ TRAP( err, iFrame=CWsGraphicBitmapAnimation::CFrame::NewL());
+
+ if ( err!=KErrNone )
+ {
+ ERR_PRINTF2(KLogError, err);
+ SetError(err);
+ }
+ // No command return value and output parameter to display and check
+ }
+
+/**
+ * Process FrameInfo command
+ *
+ * @param aSection the entry in the ini file requiring the command to be processed
+ *
+ * @return: None
+ */
+void CT_DataFrame::DoCmdFrameInfo(const TDesC& aSection)
+ {
+ INFO_PRINTF1(KLogFrameInfo);
+ TFrameInfo frameinfo = iFrame->FrameInfo();
+
+ // Get test data for command input parameter(s)
+ TFrameInfo expected;
+ if ( CT_GraphicsUtil::GetFrameInfo(*this, aSection, expected) )
+ {
+ if( frameinfo.iFlags!= expected.iFlags)
+ {
+ ERR_PRINTF1(KLogNotExpectedValue);
+ SetBlockResult(EFail);
+ }
+ }
+ }
+
+/**
+ * Process SetFrameInfo command
+ *
+ * @param aSection the entry in the ini file requiring the command to be processed
+ *
+ * @return: None
+ */
+void CT_DataFrame::DoCmdSetFrameInfo(const TDesC& aSection)
+ {
+ TFrameInfo frameinfo;
+
+ if ( CT_GraphicsUtil::GetFrameInfo(*this,aSection, frameinfo) )
+ {
+ INFO_PRINTF1(KLogSetFrameInfo);
+ iFrame->SetFrameInfo(frameinfo);
+ }
+ else
+ {
+ ERR_PRINTF2(KLogMissingParameter,KFldSetFrameInfo);
+ SetBlockResult(EFail);
+ }
+ }
+
+/**
+ * Process Bitmap command
+ *
+ * @param aSection the entry in the ini file requiring the command to be processed
+ *
+ * @return: None
+*/
+ void CT_DataFrame::DoCmdBitmapL(const TDesC& aSection)
+ {
+ INFO_PRINTF1(KLogBitmap);
+ CFbsBitmap* bitmap=const_cast<CFbsBitmap*>(iFrame->Bitmap());
+
+ TPtrC gotBitmap;
+ if(GetStringFromConfig(aSection,KFldGotBitmap,gotBitmap))
+ {
+ SetDataObjectL(gotBitmap,bitmap);
+ }
+
+ // Get test data for command input parameter(s)
+ CFbsBitmap* expected=NULL;
+ if ( CT_GraphicsUtil::GetFbsBitmapL(*this,aSection, KFldBitmap, expected) )
+ {
+ if ( bitmap!=expected )
+ {
+ ERR_PRINTF1(KLogNotExpectedValue);
+ SetBlockResult(EFail);
+ }
+ }
+ }
+
+/**
+ * Process SetBitmap command
+ *
+ * @param aSection the entry in the ini file requiring the command to be processed
+ *
+ * @return: None
+*/
+ void CT_DataFrame::DoCmdSetBitmapL(const TDesC& aSection)
+ {
+ CFbsBitmap* bitmap=NULL;
+
+ if ( CT_GraphicsUtil::GetFbsBitmapL(*this,aSection, KFldSetBitmap, bitmap) )
+ {
+ INFO_PRINTF1(KLogSetBitmap);
+ iFrame->SetBitmap(bitmap);
+ }
+ else
+ {
+ ERR_PRINTF2(KLogMissingParameter,KFldSetBitmap);
+ SetBlockResult(EFail);
+ }
+ }
+
+/**
+ * Process Mask command
+ *
+ * @param aSection the entry in the ini file requiring the command to be processed
+ *
+ * @return: None
+*/
+ void CT_DataFrame::DoCmdMaskL(const TDesC& aSection)
+ {
+ INFO_PRINTF1(KLogMask);
+ CFbsBitmap* mask=const_cast<CFbsBitmap*>(iFrame->Mask());
+
+ TPtrC gotMask;
+ if(GetStringFromConfig(aSection,KFldGotMask,gotMask))
+ {
+ SetDataObjectL(gotMask,mask);
+ }
+
+ // Get test data for command input parameter(s)
+ CFbsBitmap* expected=NULL;
+ if ( CT_GraphicsUtil::GetFbsBitmapL(*this,aSection, KFldMask, expected) )
+ {
+ if ( mask!=expected )
+ {
+ ERR_PRINTF1(KLogNotExpectedValue);
+ SetBlockResult(EFail);
+ }
+ }
+ }
+
+/**
+ * Process SetMask command
+ *
+ * @param aSection the entry in the ini file requiring the command to be processed
+ *
+ * @return: None
+*/
+ void CT_DataFrame::DoCmdSetMaskL(const TDesC& aSection)
+ {
+ CFbsBitmap* bitmap=NULL;
+
+ if ( CT_GraphicsUtil::GetFbsBitmapL(*this,aSection, KFldSetMask, bitmap) )
+ {
+ INFO_PRINTF1(KLogSetMask);
+ iFrame->SetMask(bitmap);
+ }
+ else
+ {
+ ERR_PRINTF2(KLogMissingParameter,KFldSetMask);
+ SetBlockResult(EFail);
+ }
+ }
+