contentmgmt/referencedrmagent/tcaf/source/CafutilsStep.cpp
branchRCL_3
changeset 61 641f389e9157
parent 45 030c4fbc13d7
child 62 a71299154b21
--- 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 
+
+