realtimenetprots/sipfw/SIP/Codec/src/CSIPContentLengthHeader.cpp
changeset 0 307788aac0a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/SIP/Codec/src/CSIPContentLengthHeader.cpp	Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,122 @@
+// Copyright (c) 2005-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:
+// Name          : CSIPContentLengthHeader.cpp
+// Part of       : SIP Codec
+// Version       : SIP/4.0 
+//
+
+
+
+
+#include "CSIPContentLengthHeader.h"
+#include "SIPSyntaxCheck.h"
+#include "sipcodecerr.h"
+#include "sipstrings.h"
+#include "sipstrconsts.h"
+#include "_sipcodecdefs.h"
+
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::BaseDecodeL
+// -----------------------------------------------------------------------------
+//
+RPointerArray<CSIPHeaderBase> CSIPContentLengthHeader::BaseDecodeL(
+    const TDesC8& aValue)
+	{
+	RPointerArray<CSIPHeaderBase> headers;
+	CSIPContentLengthHeader* header = new(ELeave)CSIPContentLengthHeader;
+	CleanupStack::PushL (header);
+	header->ParseL(aValue,KErrSipCodecContentLengthHeader);
+	headers.AppendL(header);
+	CleanupStack::Pop(header);
+	return headers;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::CSIPContentLengthHeader
+// -----------------------------------------------------------------------------
+//
+CSIPContentLengthHeader::CSIPContentLengthHeader (TUint aValue)
+ : CSIPUnsignedIntHeaderBase(aValue)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::~CSIPContentLengthHeader
+// -----------------------------------------------------------------------------
+//
+CSIPContentLengthHeader::~CSIPContentLengthHeader ()
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::CloneL
+// From CSIPHeaderBase:
+// -----------------------------------------------------------------------------
+//
+CSIPHeaderBase* CSIPContentLengthHeader::CloneL () const
+	{
+	return new(ELeave)CSIPContentLengthHeader(iValue);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::Name
+// From CSIPHeaderBase:
+// -----------------------------------------------------------------------------
+//
+RStringF CSIPContentLengthHeader::Name() const
+	{
+	return SIPStrings::StringF(SipStrConsts::EContentLengthHeader);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::HasCompactName
+// From CSIPHeaderBase:
+// -----------------------------------------------------------------------------
+//
+TBool CSIPContentLengthHeader::HasCompactName () const
+	{
+	return ETrue;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::CompactName
+// From CSIPHeaderBase:	
+// -----------------------------------------------------------------------------
+//
+RStringF CSIPContentLengthHeader::CompactName () const
+	{
+	return SIPStrings::StringF(SipStrConsts::EContentLengthHeaderCompact);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::ExternalizeSupported
+// From CSIPHeaderBase:
+// -----------------------------------------------------------------------------
+//
+TBool CSIPContentLengthHeader::ExternalizeSupported () const
+	{
+	return EFalse;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPContentLengthHeader::PreferredPlaceInMessage
+// From CSIPHeaderBase:
+// -----------------------------------------------------------------------------
+//
+CSIPHeaderBase::TPreferredPlace 
+CSIPContentLengthHeader::PreferredPlaceInMessage () const
+	{
+	return CSIPHeaderBase::EBottom;
+	}