williamr@2: /*
williamr@2: * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2: * All rights reserved.
williamr@2: * This component and the accompanying materials are made available
williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2: * which accompanies this distribution, and is available
williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2: *
williamr@2: * Initial Contributors:
williamr@2: * Nokia Corporation - initial contribution.
williamr@2: *
williamr@2: * Contributors:
williamr@2: *
williamr@2: * Description:
williamr@2: * Name          : sipproxyauthenticateheader.h
williamr@2: * Part of       : SIP Codec
williamr@2: * Version       : SIP/5.0 
williamr@2: *
williamr@2: */
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: #ifndef CSIPPROXYAUTHENTICATEHEADER_H
williamr@2: #define CSIPPROXYAUTHENTICATEHEADER_H
williamr@2: 
williamr@2: //  INCLUDES
williamr@2: #include "sipauthenticateheaderbase.h"
williamr@2: #include "_sipcodecdefs.h"
williamr@2: 
williamr@2: // CLASS DECLARATION
williamr@2: /**
williamr@2: * @publishedAll
williamr@2: * @released
williamr@2: *
williamr@2: * Class for SIP Proxy-Authenticate-header manipulation.
williamr@2: *
williamr@2: * @lib sipcodec.lib
williamr@2: */
williamr@2: class CSIPProxyAuthenticateHeader : public CSIPAuthenticateHeaderBase
williamr@2: 	{
williamr@2: 	public:	// Constructors and destructor
williamr@2: 
williamr@2: 		/**
williamr@2: 		* Constructs a CSIPProxyAuthenticateHeader from textual representation
williamr@2: 		* of the header's value part.
williamr@2: 		* @param aValue a value part of a "Proxy-Authenticate"-header 
williamr@2: 		* @return a new instance of CSIPProxyAuthenticateHeader
williamr@2: 		*/
williamr@2: 		IMPORT_C static CSIPProxyAuthenticateHeader* 
williamr@2: 			DecodeL(const TDesC8& aValue);
williamr@2: 
williamr@2: 		/**
williamr@2: 		* Creates a new instance of CSIPProxyAuthenticateHeader
williamr@2: 		* @return a new instance of CSIPProxyAuthenticateHeader
williamr@2: 		*/
williamr@2: 		IMPORT_C static CSIPProxyAuthenticateHeader* 
williamr@2: 			NewL(RStringF aAuthScheme);
williamr@2: 
williamr@2: 		/**
williamr@2: 		* Creates a new instance of CSIPProxyAuthenticateHeader
williamr@2: 		* @return a new instance of CSIPProxyAuthenticateHeader
williamr@2: 		*/
williamr@2: 		IMPORT_C static CSIPProxyAuthenticateHeader* 
williamr@2: 			NewLC(RStringF aAuthScheme);
williamr@2: 
williamr@2: 		/**
williamr@2: 		* Destructor
williamr@2: 		*/
williamr@2: 		IMPORT_C ~CSIPProxyAuthenticateHeader();
williamr@2: 
williamr@2: 	public: // From CSIPHeaderBase
williamr@2: 
williamr@2: 		/**
williamr@2: 		* From CSIPHeaderBase CloneL
williamr@2: 		*/
williamr@2: 		IMPORT_C CSIPHeaderBase* CloneL() const;
williamr@2: 		
williamr@2: 		/**
williamr@2: 		* From CSIPHeaderBase Name
williamr@2: 		*/		
williamr@2: 		IMPORT_C RStringF Name() const;
williamr@2: 
williamr@2: 
williamr@2: 	public: // New functions, for internal use
williamr@2: 
williamr@2: 		static RPointerArray<CSIPHeaderBase> BaseDecodeL(const TDesC8& aValue);
williamr@2: 		static CSIPHeaderBase* InternalizeValueL(RReadStream& aReadStream);
williamr@2: 
williamr@2: 	private: // Constructors
williamr@2: 
williamr@2: 		CSIPProxyAuthenticateHeader();
williamr@2: 
williamr@2:     private: // For testing purposes
williamr@2: 
williamr@2:         UNIT_TEST(CSIPProxyAuthenticateHeaderTest)
williamr@2: 	};
williamr@2: 
williamr@2: #endif // CSIPPROXYAUTHENTICATEHEADER_H
williamr@2: 
williamr@2: // End of File