os/security/contentmgmt/cafstreamingsupport/inc/streamagentinterface.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 /**
    17  @file
    18  @publishedPartner
    19  @released
    20 */
    21 
    22 #ifndef STREAMAGENTINTERFACE_H
    23 #define STREAMAGENTINTERFACE_H
    24 
    25 #include <e32base.h>
    26 #include <f32file.h>
    27 #include <caf/streaming/streamcaftypes.h>
    28 
    29 #include <caf/rightsinfo.h>
    30 
    31 namespace StreamAccess
    32 	{
    33 	
    34 	class CAgentKeyStreamDecoder : public CBase
    35 		{
    36 	public:
    37 
    38 		/** Destructor. */
    39 		IMPORT_C virtual ~CAgentKeyStreamDecoder();
    40 		
    41 		/**  
    42 		@see CKeyStreamDecoder::GetAttributeL
    43 		*/
    44 		virtual void GetAttributeL(const TAttribute& aAttribute, TBool& aValue) =0;
    45 
    46 		/**  
    47 		@see CKeyStreamDecoder::GetStringAttributeL	
    48 		*/
    49 		virtual HBufC* GetStringAttributeLC(const TStringAttribute& aAttribute) =0;
    50 
    51 		/**  Gets information data about the post-delivery rights objects for the protected service/content. 
    52 		  	 Used when the content is imported into protected file storage for later viewing.
    53 		
    54 		 @param aFile A reference to the rights object file handle. The file handle must be closed by the client application.
    55 		 @param aCid  The content Id of the post-acquisition rights object.
    56 		 @param aRightsMimeType The mime type of the rights object file. 
    57 		 @param aContentMimeType The mime type of the content which is recorded.
    58 		 @leave KErrCANotSupported if the protection scheme does not have or is not capable of exporting rights info.
    59 		 @leave Otherwise one of the other system-wide error codes.
    60 		 */
    61 		virtual void GetPostDeliveryRightsL(RFile& aFile, TDes8& aCid, TDes8& aRightsMimeType, TDes8& aContentMimeType) =0;
    62 
    63 protected:	
    64 		/** Constructor.*/
    65 		IMPORT_C CAgentKeyStreamDecoder();
    66 		};
    67 	} // namespace StreamAccess
    68 #endif // STREAMAGENTINTERFACE_H
    69