epoc32/include/caf/rightsinfo.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/caf/rightsinfo.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,133 +0,0 @@
     1.4 -/*
     1.5 -* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.6 -* All rights reserved.
     1.7 -* This component and the accompanying materials are made available
     1.8 -* under the terms of the License "Eclipse Public License v1.0"
     1.9 -* which accompanies this distribution, and is available
    1.10 -* at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.11 -*
    1.12 -* Initial Contributors:
    1.13 -* Nokia Corporation - initial contribution.
    1.14 -*
    1.15 -* Contributors:
    1.16 -*
    1.17 -* Description: 
    1.18 -*
    1.19 -*/
    1.20 -
    1.21 -
    1.22 -
    1.23 -
    1.24 -/**
    1.25 - @file
    1.26 - @publishedPartner
    1.27 - @released
    1.28 -*/
    1.29 -
    1.30 -
    1.31 -#ifndef __RIGHTSINFO_H__
    1.32 -#define __RIGHTSINFO_H__
    1.33 -
    1.34 -#include <e32base.h>
    1.35 -#include <caf/caftypes.h>
    1.36 -
    1.37 -class RWriteStream;
    1.38 -class RReadStream;
    1.39 -
    1.40 -namespace ContentAccess
    1.41 -{
    1.42 -
    1.43 -	/** Rights class to store a summary description of the rights and a unique 
    1.44 -	reference to the rights object within an Agent
    1.45 -
    1.46 -	@publishedPartner
    1.47 -    @released
    1.48 -	*/
    1.49 -	class CRightsInfo : public CBase
    1.50 -		{
    1.51 -	public:
    1.52 -
    1.53 -		/** Construct a new CRightsInfo
    1.54 -		
    1.55 -		@param aDescription A generic text description of the rights supplied by the agent "Content XYZ Expiry date mm/dd/yy" etc
    1.56 -		@param aUniqueId A uniqueId used to refer to this particular rights object within the agent it came from
    1.57 -		@param aRightsTypeMask A bitmask of TRightsType entries applicable to this rights object
    1.58 -		@param aRightsStatus The current status of this rights object
    1.59 -		@return A CRightsInfo object
    1.60 -		*/
    1.61 -		IMPORT_C static CRightsInfo* NewL(const TDesC& aDescription, const TDesC& aUniqueId, TInt aRightsTypeMask, TRightsStatus aRightsStatus);
    1.62 -		
    1.63 -		/** Construct a new CRightsInfo from a stream */
    1.64 -		IMPORT_C static CRightsInfo* NewL(RReadStream& aStream);
    1.65 -
    1.66 -		virtual ~CRightsInfo();
    1.67 -
    1.68 -		/** returns a string describing the rights object
    1.69 -		@capability DRM Access to DRM rights is not permitted for processes without DRM capability. 
    1.70 -		*/
    1.71 -		IMPORT_C const TDesC& Description() const;
    1.72 -
    1.73 -		/** returns a string with a unique Id used to identify a particular rights object
    1.74 -		@capability DRM Access to DRM rights is not permitted for processes without DRM capability. 
    1.75 -		*/
    1.76 -		IMPORT_C const TDesC& UniqueId() const;
    1.77 -
    1.78 -		/** Returns a bit mask of TRightsTypeMask flags. A rights object can be stateless and/or consumable
    1.79 -		
    1.80 -		@see ContentAccess::TRightsTypeMask
    1.81 -
    1.82 -		@capability DRM Access to DRM rights is not permitted for processes without DRM capability. 		
    1.83 -		*/
    1.84 -		IMPORT_C TInt RightsType() const;
    1.85 -
    1.86 -		/** The state of the rights
    1.87 -
    1.88 -		@see ContentAccess::TRightsStatus
    1.89 -
    1.90 -		@capability DRM Access to DRM rights is not permitted for processes without DRM capability. 		
    1.91 -		*/
    1.92 -		IMPORT_C TRightsStatus RightsStatus() const;
    1.93 -
    1.94 -		/** Write this CRightsInfo object to a stream
    1.95 -
    1.96 -		@param aStream The stream
    1.97 -		*/
    1.98 -		IMPORT_C void ExternalizeL(RWriteStream &aStream) const;
    1.99 -
   1.100 -	private:
   1.101 -		CRightsInfo();
   1.102 -		
   1.103 -		CRightsInfo(TInt aRightsType, TRightsStatus aRightsStatus);
   1.104 -		void ConstructL(const TDesC& aDescription, const TDesC& aUniqueId);
   1.105 -		
   1.106 -		void InternalizeL(RReadStream& aStream);
   1.107 -		
   1.108 -	private:
   1.109 -		
   1.110 -		HBufC* iDescription;
   1.111 -		HBufC* iUniqueId;
   1.112 -
   1.113 -		TInt iRightsType;
   1.114 -		TRightsStatus iRightsStatus;
   1.115 -		};
   1.116 -
   1.117 -	/** Interface used by agents as a base class for their own rights objects
   1.118 -
   1.119 -	Agent derived classes will contain a complete object capable of describing
   1.120 -	rights for content managed by that agent.
   1.121 -
   1.122 -	All derived classes must implement the serialization functions InternalizeL() 
   1.123 -	and ExternalizeL()
   1.124 -
   1.125 -	@publishedPartner
   1.126 -	@released
   1.127 -	*/
   1.128 -	class MAgentRightsBase 
   1.129 -		{
   1.130 -	public:
   1.131 -		virtual void ExternalizeL(RWriteStream& aStream) const = 0;
   1.132 -		virtual void InternalizeL(RReadStream& aStream) = 0;
   1.133 -		};	
   1.134 -	}
   1.135 -
   1.136 -#endif