diff -r f18401adf8e1 -r 641f389e9157 contentmgmt/referencedrmagent/tcaf/source/CafutilsStep.cpp --- a/contentmgmt/referencedrmagent/tcaf/source/CafutilsStep.cpp Thu Aug 19 11:38:48 2010 +0300 +++ b/contentmgmt/referencedrmagent/tcaf/source/CafutilsStep.cpp Tue Aug 31 17:00:08 2010 +0300 @@ -25,6 +25,11 @@ #include "cafserver.h" #include "CafUtilsStep.h" +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT +#include "refcafhelper.h" +#include +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + using namespace ContentAccess; @@ -838,3 +843,108 @@ return TestStepResult(); } +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + +CCafHelperStep::~CCafHelperStep() + { + } + +CCafHelperStep::CCafHelperStep() + { + SetTestStepName(KCAFHelperStep); + } + + +TVerdict CCafHelperStep::doTestStepL() + { + SetTestStepResult(EFail); +__UHEAP_MARK; + + TInt result; + + TInt error; + GetIntFromConfig(ConfigSection(),_L("error"),error); + + TInt expectedValue; + GetIntFromConfig(ConfigSection(),_L("expected"),expectedValue); + + // fileheader case. + TPtrC uri; + if (!GetStringFromConfig(ConfigSection(), _L("uri"), uri)) + { + INFO_PRINTF1(_L("CCafHelper test : HeaderData case.")); + result = TestHeaderDataCaseL(error); + } + + else + { + TBool isFileName = EFalse; + GetBoolFromConfig(ConfigSection(),_L("flag"),isFileName); + + // filehandle case + if(isFileName == EFalse) + { + INFO_PRINTF1(_L("CCafHelper test : FileHandle case.")); + result = TestFileHandleCaseL(error, uri); + } + + // filename case. + else + { + INFO_PRINTF1(_L("CCafHelper test : FileName case.")); + + CCAFHelper* helperObj = CCAFHelper::NewL(); + CleanupStack::PushL(helperObj); + + result = (*helperObj)().HandleCAFErrorL(error, uri); + CleanupStack::PopAndDestroy(helperObj); + } + } + + if(result == expectedValue) + { + SetTestStepResult(EPass); + } + +__UHEAP_MARKEND; + + return TestStepResult(); + } + +TInt CCafHelperStep::TestFileHandleCaseL(TInt aError, const TDesC& aFileName) + { +__UHEAP_MARK; + RFs fs; + RFile fileHandle; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + User::LeaveIfError(fileHandle.Open(fs, aFileName, EFileRead)); + CleanupClosePushL(fileHandle); + + CCAFHelper* helperObj = CCAFHelper::NewL(); + CleanupStack::PushL(helperObj); + TInt result = (*helperObj)().HandleCAFErrorL(aError, fileHandle); + CleanupStack::PopAndDestroy(3, &fs); +__UHEAP_MARKEND; + + return result; + } + +TInt CCafHelperStep::TestHeaderDataCaseL(TInt aError) + { + _LIT8(KFileHeaderData,"W\0R\0M\0H\0E\0A\0D\0E\0R\0"); + +__UHEAP_MARK; + CCAFHelper* helperObj = CCAFHelper::NewL(); + CleanupStack::PushL(helperObj); + + TInt result = (*helperObj)().HandleCAFErrorL(aError, KFileHeaderData); + CleanupStack::PopAndDestroy(helperObj); +__UHEAP_MARKEND; + + return result; + } + +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + +