--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/genericservices/httputils/UriParser/CUriInternal.h Fri Jun 04 16:20:51 2010 +0100
@@ -0,0 +1,97 @@
+// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "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 contains local functions for use by the CUri classes defined in
+// Uri8.h and Uri16.h.
+//
+//
+
+/**
+ @file CUriInternal.h
+ @see Uri8.h, Uri16.h
+*/
+
+#ifndef __CURIINTERNAL_H__
+#define __CURIINTERNAL_H__
+
+// System includes
+//
+#include <e32base.h>
+
+/**
+ enum TInternalFileUriFlags
+ Enum defining a flag used to indicate file type (public or private)
+ @internalComponent
+ @released
+ @since 9.1
+ */
+enum TInternalFileUriFlags
+ {
+ /* Specifier for application private file on fix drive */
+ EPrivate = 0x80000000
+ };
+
+// Forward class declarations
+//
+class CDelimitedDataBase16;
+class CDelimitedDataBase8;
+
+template<class TPtrCType>
+TInt CalculateUriLength(const TPtrCType aComponent[], TBool& aIsIPv6Host);
+
+template<class TPtrType, class TPtrCType>
+void DoFormUri(TPtrType& aUri, TPtrCType aComponent[], TBool& aIsIPv6Host);
+
+template<class TPtrType, class TPtrCType>
+void SetScheme(TPtrType& aUri, TPtrCType& aScheme);
+
+template<class TPtrType, class TPtrCType>
+void SetAuthority(TPtrType& aUri, TPtrCType& aUserinfo, TPtrCType& aHost, TPtrCType& aPort, TBool& aIsIPv6Host, TBool aUseNetworkDelimiter);
+
+template<class TPtrType, class TPtrCType>
+void SetPath(TPtrType& aUri, TPtrCType& aPath);
+
+template<class TPtrType, class TPtrCType>
+void SetQuery(TPtrType& aUri, TPtrCType& aQuery);
+
+template<class TPtrType, class TPtrCType>
+void SetFragment(TPtrType& aUri, TPtrCType& aFragment);
+
+template<class TPtrCType, class CDelimitedDataBaseType>
+void CleanResolvedPathL(CDelimitedDataBaseType* aResolvedPath);
+
+template<class HBufCType, class TUriCType>
+HBufCType* FormResolvedPathLC(const TUriCType& aBaseUri, const TUriCType& aRefUri, TBool& aUseBaseQuery);
+
+template<class TPtrCType, class TUriCType, class HBufCType>
+void FormResolvedUri(TPtrCType aComponent[], const TUriCType& aBaseUri, const TUriCType& aRefUri, const HBufCType* aResolvedPath, TBool aUseBaseQuery);
+
+HBufC* GenerateFileUriPathL(const TDesC& aFileName, TDriveNumber aDrive, TUint aFlags);
+
+HBufC8* ResolvePathsL(const TDesC8& aBasePath, const TDesC8& aRefPath);
+
+HBufC16* ResolvePathsL(const TDesC16& aBasePath, const TDesC16& aRefPath);
+
+TBool IsSameDir(const TDesC8& aSegment);
+
+TBool IsSameDir(const TDesC16& aSegment);
+
+TBool IsParentDir(const TDesC8& aSegment);
+
+TBool IsParentDir(const TDesC16& aSegment);
+
+void InsertParentDirL(CDelimitedDataBase8* aResolvedPath);
+
+void InsertParentDirL(CDelimitedDataBase16* aResolvedPath);
+
+#endif // __CURIINTERNAL_H__