contentmgmt/contentaccessfwfordrm/inc/manager.h
changeset 15 da2ae96f639b
parent 8 35751d3474b7
child 45 030c4fbc13d7
--- a/contentmgmt/contentaccessfwfordrm/inc/manager.h	Fri Oct 02 13:15:59 2009 +0300
+++ b/contentmgmt/contentaccessfwfordrm/inc/manager.h	Mon Oct 12 10:17:04 2009 +0300
@@ -690,6 +690,66 @@
 		IMPORT_C static void DeleteFileL (const TDesC &aFileName);
 #endif // REMOVE_CAF1
 
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+
+		/**  Get an attribute from WMDRM content.
+	
+		@param aAttribute	The attribute to retrieve, from ContentAccess::TAttribute.
+		@param aValue		Used to return the value of the attribute.
+		@param aHeaderData	Header data of WMDRM content.
+		@return				Whether the attribute value was updated.
+		@return				KErrNone if the attribute value was updated.
+		@return				KErrCANotSupported if the requested attribute is not supported for this content.
+		@return				Otherwise one of the other CAF error codes defined in \c caferr.h  or one of the 
+							other system-wide error codes for any other errors.
+		@capability DRM 	Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. 
+		*/
+		IMPORT_C TInt GetAttribute(const TDesC8& aHeaderData, TInt aAttribute, TInt& aValue) const;
+		
+		/** Get a set of attributes from WMDRM content.
+
+		@param aAttributeSet	The set of attributes to query and update.
+		@param aHeaderData		Header data of WMDRM content.
+		@return 				Whether the attribute set was updated.
+		@return 				KErrNone if the attribute set was updated successfully.
+		@return 				Otherwise one of the other CAF error codes defined in \c caferr.h  or one of the 
+								other system-wide error codes for any other errors.
+		@capability DRM 		Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. 
+		*/
+		IMPORT_C TInt GetAttributeSet(const TDesC8& aHeaderData, RAttributeSet& aAttributeSet) const;
+		
+		
+		/**  Get text string attributes or meta-data from WMDRM content.
+
+		@param aAttribute	The attribute to retrieve, from ContentAccess::TStringAttribute.
+		@param aValue		Used to return the value of the attribute.
+		@param aHeaderData	Header data of WMDRM content.
+		@return				Whether the value was updated.
+		@return				KErrNone if the attribute was retrieved successfully.
+		@return				KErrNotFound if the content object does not exist.
+		@return				KErrCANotSupported if the requested attribute does not apply to this content object.
+		@return				KErrOverflow if the buffer was not large enough to return the result.
+		@return				Otherwise one of the other CAF error codes defined in \c caferr.h  or one of the 
+							other system-wide error codes for any other errors.
+		@capability DRM 	Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. 
+		*/
+		IMPORT_C TInt GetStringAttribute(const TDesC8& aHeaderData, TInt aAttribute, TDes& aValue) const;
+		
+		/** Used to obtain a set of string attributes from WMDRM content.
+
+		@param aStringAttributeSet	The set of attributes to query and update.
+		@param aHeaderData			Header data of WMDRM content.
+		@return 					Whether the string attribute set was updated.
+		@return 					KErrNone if the attribute set was updated successfully.
+		@return 					KErrNotFound if the object with the given virtual path was not found.
+		@return 					Otherwise one of the other CAF error codes defined in \c caferr.h  or one of the 
+									other system-wide error codes for any other errors.
+		@capability DRM 			Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. 
+		*/
+		IMPORT_C TInt GetStringAttributeSet(const TDesC8& aHeaderData, RStringAttributeSet& aStringAttributeSet) const;
+
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+
 	private:
 		CManager();
 		void ConstructL();
@@ -721,7 +781,15 @@
 		void DoGetStringAttributeSetL(RStringAttributeSet& aStringAttributeSet, RFile& aFile, const TDesC& aUniqueId) const;
 		void DoNotifyStatusChangeL(const TDesC& aURI, TEventMask aMask, TRequestStatus& aStatus);		
 		void DoCancelNotifyStatusChangeL(const TDesC& aURI, TRequestStatus& aStatus);
-		void DoSetPropertyL(TAgentProperty aProperty, TInt aValue);		
+		void DoSetPropertyL(TAgentProperty aProperty, TInt aValue);
+		
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+		void DoGetAttributeL(const TDesC8& aHeaderData, TInt aAttribute, TInt& aValue) const;
+		void DoGetAttributeSetL(const TDesC8& aHeaderData, RAttributeSet& aAttributeSet) const;
+		void DoGetStringAttributeL(const TDesC8& aHeaderData, TInt aAttribute, TDes& aValue) const;
+		void DoGetStringAttributeSetL(const TDesC8& aHeaderData, RStringAttributeSet& aStringAttributeSet) const;	
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+	
 	private:
 		// Holds instances of all the agents
 		CAgentResolver* iResolver;
@@ -730,5 +798,3 @@
 	} // namespace ContentAccess
 
 #endif /* __MANAGER_H__ */
-
-