--- 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 <caf/cafhelper.h>
+#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
+
+