contentmgmt/cafstreamingsupport/test/streamingtestagent_singleprocess/inc/testsingleprocesskeystreamdecoder.h
branchRCL_3
changeset 43 2f10d260163b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentmgmt/cafstreamingsupport/test/streamingtestagent_singleprocess/inc/testsingleprocesskeystreamdecoder.h	Mon Mar 15 12:46:43 2010 +0200
@@ -0,0 +1,81 @@
+// Copyright (c) 2007-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 "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Defines the Test 'Single Process' Stream Agent Key Stream Decoder object.
+// 
+//
+
+/**
+ @file
+ @test
+*/
+
+#ifndef TESTSINGLEPROCESSKEYSTREAMDECODER_H
+#define TESTSINGLEPROCESSKEYSTREAMDECODER_H
+
+#include <s32file.h>
+
+#include "testkeystreamdecoderbase.h"
+#include "stacommon.h"
+#include "srarightsobject.h"
+#include "srautils.h"
+
+#include "testkeyassociation.h"
+#include "testkeystreamsink.h"
+
+class CSdpDocument;
+class CSdpDocument;
+namespace StreamAccess
+	{
+	NONSHARABLE_CLASS(CTestSingleProcessKeyStreamDecoder) : public CTestKeyStreamDecoderBase
+		{
+	public:
+		IMPORT_C static CTestSingleProcessKeyStreamDecoder* NewL(const CKeyStreamSink& aKeyStreamSink,
+			    										 const CSdpMediaField& aSdpKeyStream,
+			    										 const CSdpDocument& aSdpDoc);
+		IMPORT_C static CTestSingleProcessKeyStreamDecoder* NewLC(const CKeyStreamSink& aKeyStreamSink,
+			    										 const CSdpMediaField& aSdpKeyStream,
+			    										 const CSdpDocument& aSdpDoc);
+		~CTestSingleProcessKeyStreamDecoder();
+		
+		//From CAgentKeyStreamDecoder
+		IMPORT_C void GetAttributeL(const TAttribute& aAttribute, TBool& aValue);
+		IMPORT_C HBufC* GetStringAttributeLC(const TStringAttribute& aAttribute);
+		IMPORT_C void GetPostDeliveryRightsL(RFile& aFile, TDes8& aCid, TDes8& aRightsMimeType, TDes8& aContentMimeType);
+	
+		//From CTestKeyStreamDecoderBase
+		IMPORT_C void SendKeyStreamL(const TDesC8& aKey) const;
+		IMPORT_C void SendIpSecAssociationL(TInt32 aSpi, HBufC8* aEncryptionKey, HBufC8* aAuthenticationKey) const;
+		
+	protected:
+		void SetRoL();
+		void VerifyRoL();
+		
+	private:
+		CTestSingleProcessKeyStreamDecoder();
+		
+		void ConstructL(const CKeyStreamSink& aKeyStreamSink,  
+						const CSdpMediaField& aSdpKeyStream,
+						const CSdpDocument& aSdpDoc);
+		
+	private:
+		RFs iFs;
+	
+		CKeyStreamSink* iKeyStreamSink;
+		CSdpMediaField* iSdp;
+		CSdpDocument* iSdpDoc;
+		CSraRightsObject* iRo;
+		};
+		
+	}//End of the namespace StreamAccess
+#endif /*TESTSINGLEPROCESSKEYSTREAMDECODER_H*/