--- /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;
+ }