diff -r 000000000000 -r e4d67989cc36 genericservices/httputils/UriParser/CUriInternal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genericservices/httputils/UriParser/CUriInternal.h Tue Feb 02 02:01:42 2010 +0200 @@ -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 + +/** + 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 +TInt CalculateUriLength(const TPtrCType aComponent[], TBool& aIsIPv6Host); + +template +void DoFormUri(TPtrType& aUri, TPtrCType aComponent[], TBool& aIsIPv6Host); + +template +void SetScheme(TPtrType& aUri, TPtrCType& aScheme); + +template +void SetAuthority(TPtrType& aUri, TPtrCType& aUserinfo, TPtrCType& aHost, TPtrCType& aPort, TBool& aIsIPv6Host, TBool aUseNetworkDelimiter); + +template +void SetPath(TPtrType& aUri, TPtrCType& aPath); + +template +void SetQuery(TPtrType& aUri, TPtrCType& aQuery); + +template +void SetFragment(TPtrType& aUri, TPtrCType& aFragment); + +template +void CleanResolvedPathL(CDelimitedDataBaseType* aResolvedPath); + +template +HBufCType* FormResolvedPathLC(const TUriCType& aBaseUri, const TUriCType& aRefUri, TBool& aUseBaseQuery); + +template +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__