contentmgmt/contentaccessfwfordrm/inc/virtualpath.h
changeset 8 35751d3474b7
parent 0 2c201484c85f
child 30 cf642210ecb7
--- a/contentmgmt/contentaccessfwfordrm/inc/virtualpath.h	Tue Jul 21 01:04:32 2009 +0100
+++ b/contentmgmt/contentaccessfwfordrm/inc/virtualpath.h	Thu Sep 10 14:01:51 2009 +0300
@@ -1,172 +1,172 @@
-/*
-* Copyright (c) 2003-2006 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: 
-*
-*/
-
-
-
-/** 
-@file
-
-@publishedPartner
-@released
-*/
-
-
-
-#ifndef __CAFVIRTUALPATH_H__
-#define __CAFVIRTUALPATH_H__
-
-#include <e32base.h>
-
-#include <caf/virtualpathptr.h>
-
-class RReadStream;
-class RWriteStream;
-
-namespace ContentAccess
-	{
-	class TVirtualPathPtr;
-
-	/**  A virtual path describes the location of the file (URI) and the location of
-	a content object within that file (Unique Id). 
-	
-	The URI must conform to the standard defined in RFC2396, found at http://www.ietf.org/.
-	
-	CVirtualPath makes a copy of the URI and UniqueId used to identify a particular content
-	object within a file.
-
-	The TVirtualPathPtr cast operator allows the CVirtualPath object to be used with 
-	CAF functions requiring a TVirtualPathPtr.
-
-	The GetCombinedUriUniqueId() function allows it to "flatten" a virtual 
-	path into a single URI. The combined virtual path will be the URI concatenated with the UniqueId
-	seperated by the KCafVirtualPathSeparator character taking the format. 
-	@code
-		<URI><KCafVirtualPathSeparator><UniqueID>
-	@endcode
-	
-	An example of this format is shown below:		
-	@code
-	// Create a CVirtualPath object to point to OBJECT1 inside file.dcf
-	CVirtualPath *path = CVirtualPath::NewL(_L("C:\\directory\file.dcf"), _L("OBJECT1"));
-
-	// convert the URI and unique ID into a single URI.
-	TVirtualPathPtr aPath = path->GetCombinedUriUniqueId();
-	@endcode
-	@note
-	If a URI is supplied which contains multiple KCafVirtualPathSeparator characters 
-	the rightmost KCafVirtualPathSeparator character will be taken as marking the end
-	of the URI and the start of the UniqueId. When multiple KCafVirtualPathSeparator
-	characters are present, under certain situations this will result in an invalid 
-	URI and UniqueId being created for the virtual path and can lead to an undefined failure.
-
-	@publishedPartner
-	@released
-	*/
-	class CVirtualPath : public CBase
-		{
-	public:
-		/** Create a CVirtualPath object from a TVirtualPathPtr 
-		@param aPtr The location of the content object
-		@return a new CVirtualPath object
-		*/
-		IMPORT_C static CVirtualPath* NewL(const TVirtualPathPtr& aPtr);
-
-		/** Create a virtual path object from a combined Uri and UniqueId 
-		
-		This constructs a CVirtual path from a single descriptor. 
-		
-		Note that the descriptor here may be just a URI or it could be a URI
-		concatenated with the file's UniqueId. If it is a concatenated URI and 
-		UniqueId the URI and UniqueId will be seperated by the KCasfVirtualPathSeparator character.
-		For more information see above.
-		@param aCombinedUriUniqueId The location of the content object
-		@return a new CVirtualPath object
-		*/
-		IMPORT_C static CVirtualPath* NewL(const TDesC& aCombinedUriUniqueId);
-
-		/** Create a virtual path object for a specific content object within a file 
-		@param aURI The location of the file
-		@param aUniqueId The location of the content within the file
-		@return a new CVirtualPath object
-		*/
-		IMPORT_C static CVirtualPath* NewL(const TDesC& aURI, const TDesC& aUniqueId);
-		
-		/** Construct and read a CVirtualPath object from a stream 
-		@param aStream The stream to read frin
-		*/
-		IMPORT_C static CVirtualPath* NewL(RReadStream& aStream);
-
-
-		virtual ~CVirtualPath();
-
-		/** The location of the file containing the content object 
-		@return The location of the file
-		*/
-		IMPORT_C const TDesC& URI() const;
-
-		/** UniqueId supplied by a CAF Agent to identify the object within the 
-		file.  
-		@return The uniqueId of the object within the file
-		*/
-		IMPORT_C const TDesC& UniqueId() const;
-		
-		/** Allows the class to write itself to a stream 
-		@param aStream	The stream to write to
-		*/
-		IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-		
-		/** Convert the CVirtualPath to a single URI representing a particular 
-		content object. The URI and UniqueId will be separated by a KCafVirtualPathSeparator()
-		@return A descriptor contaning the URI and UniqueId concatenated together
-		*/
-		IMPORT_C const TDesC& GetCombinedUriUniqueId();
-
-		/** Cast operator allowing the CVirtualPath to be used as a TVirtualPathPtr 
-		@return a TVirtualPathPtr with the same value as this object
-		*/
-		inline operator const TVirtualPathPtr& () const;
-
-	private:
-		CVirtualPath(const TVirtualPathPtr& aPtr);	
-
-		/** Allow derived classes to call 2nd phase constructor
-		*/
-		void ConstructL();
-
-		/** Used to continue initialisation and setup iCombinedPtr */
-		void CreateCombinedUriUniqueIdL(const TDesC& aUri, const TDesC& aUniqueId);
-
-		void InternalizeL(RReadStream& aStream);
-
-	private:
-				
-		HBufC* iURI;
-		HBufC* iUniqueId;
-		HBufC* iCombinedUriUniqueId;
-		TPtrC iCombinedUriUniqueIdPtr;
-		TVirtualPathPtr iVirtualPathPtr;
-		};
-		
-
-	// Cast operator for treating a CVirtualPath as a TVirtualPathPtr
-	inline CVirtualPath::operator const TVirtualPathPtr& () const
-			{
-			return iVirtualPathPtr;
-			}
-	}
-
-#endif
+/*
+* Copyright (c) 2003-2006 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: 
+*
+*/
+
+
+
+/** 
+@file
+
+@publishedPartner
+@released
+*/
+
+
+
+#ifndef __CAFVIRTUALPATH_H__
+#define __CAFVIRTUALPATH_H__
+
+#include <e32base.h>
+
+#include <caf/virtualpathptr.h>
+
+class RReadStream;
+class RWriteStream;
+
+namespace ContentAccess
+	{
+	class TVirtualPathPtr;
+
+	/**  A virtual path describes the location of the file (URI) and the location of
+	a content object within that file (Unique Id). 
+	
+	The URI must conform to the standard defined in RFC2396, found at http://www.ietf.org/.
+	
+	CVirtualPath makes a copy of the URI and UniqueId used to identify a particular content
+	object within a file.
+
+	The TVirtualPathPtr cast operator allows the CVirtualPath object to be used with 
+	CAF functions requiring a TVirtualPathPtr.
+
+	The GetCombinedUriUniqueId() function allows it to "flatten" a virtual 
+	path into a single URI. The combined virtual path will be the URI concatenated with the UniqueId
+	seperated by the KCafVirtualPathSeparator character taking the format. 
+	@code
+		<URI><KCafVirtualPathSeparator><UniqueID>
+	@endcode
+	
+	An example of this format is shown below:		
+	@code
+	// Create a CVirtualPath object to point to OBJECT1 inside file.dcf
+	CVirtualPath *path = CVirtualPath::NewL(_L("C:\\directory\file.dcf"), _L("OBJECT1"));
+
+	// convert the URI and unique ID into a single URI.
+	TVirtualPathPtr aPath = path->GetCombinedUriUniqueId();
+	@endcode
+	@note
+	If a URI is supplied which contains multiple KCafVirtualPathSeparator characters 
+	the rightmost KCafVirtualPathSeparator character will be taken as marking the end
+	of the URI and the start of the UniqueId. When multiple KCafVirtualPathSeparator
+	characters are present, under certain situations this will result in an invalid 
+	URI and UniqueId being created for the virtual path and can lead to an undefined failure.
+
+	@publishedPartner
+	@released
+	*/
+	class CVirtualPath : public CBase
+		{
+	public:
+		/** Create a CVirtualPath object from a TVirtualPathPtr 
+		@param aPtr The location of the content object
+		@return a new CVirtualPath object
+		*/
+		IMPORT_C static CVirtualPath* NewL(const TVirtualPathPtr& aPtr);
+
+		/** Create a virtual path object from a combined Uri and UniqueId 
+		
+		This constructs a CVirtual path from a single descriptor. 
+		
+		Note that the descriptor here may be just a URI or it could be a URI
+		concatenated with the file's UniqueId. If it is a concatenated URI and 
+		UniqueId the URI and UniqueId will be seperated by the KCasfVirtualPathSeparator character.
+		For more information see above.
+		@param aCombinedUriUniqueId The location of the content object
+		@return a new CVirtualPath object
+		*/
+		IMPORT_C static CVirtualPath* NewL(const TDesC& aCombinedUriUniqueId);
+
+		/** Create a virtual path object for a specific content object within a file 
+		@param aURI The location of the file
+		@param aUniqueId The location of the content within the file
+		@return a new CVirtualPath object
+		*/
+		IMPORT_C static CVirtualPath* NewL(const TDesC& aURI, const TDesC& aUniqueId);
+		
+		/** Construct and read a CVirtualPath object from a stream 
+		@param aStream The stream to read frin
+		*/
+		IMPORT_C static CVirtualPath* NewL(RReadStream& aStream);
+
+
+		virtual ~CVirtualPath();
+
+		/** The location of the file containing the content object 
+		@return The location of the file
+		*/
+		IMPORT_C const TDesC& URI() const;
+
+		/** UniqueId supplied by a CAF Agent to identify the object within the 
+		file.  
+		@return The uniqueId of the object within the file
+		*/
+		IMPORT_C const TDesC& UniqueId() const;
+		
+		/** Allows the class to write itself to a stream 
+		@param aStream	The stream to write to
+		*/
+		IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+		
+		/** Convert the CVirtualPath to a single URI representing a particular 
+		content object. The URI and UniqueId will be separated by a KCafVirtualPathSeparator()
+		@return A descriptor contaning the URI and UniqueId concatenated together
+		*/
+		IMPORT_C const TDesC& GetCombinedUriUniqueId();
+
+		/** Cast operator allowing the CVirtualPath to be used as a TVirtualPathPtr 
+		@return a TVirtualPathPtr with the same value as this object
+		*/
+		inline operator const TVirtualPathPtr& () const;
+
+	private:
+		CVirtualPath(const TVirtualPathPtr& aPtr);	
+
+		/** Allow derived classes to call 2nd phase constructor
+		*/
+		void ConstructL();
+
+		/** Used to continue initialisation and setup iCombinedPtr */
+		void CreateCombinedUriUniqueIdL(const TDesC& aUri, const TDesC& aUniqueId);
+
+		void InternalizeL(RReadStream& aStream);
+
+	private:
+				
+		HBufC* iURI;
+		HBufC* iUniqueId;
+		HBufC* iCombinedUriUniqueId;
+		TPtrC iCombinedUriUniqueIdPtr;
+		TVirtualPathPtr iVirtualPathPtr;
+		};
+		
+
+	// Cast operator for treating a CVirtualPath as a TVirtualPathPtr
+	inline CVirtualPath::operator const TVirtualPathPtr& () const
+			{
+			return iVirtualPathPtr;
+			}
+	}
+
+#endif