realtimenetprots/sipfw/ClientResolver/Resolver/src/CSIPClientData.cpp
changeset 0 307788aac0a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ClientResolver/Resolver/src/CSIPClientData.cpp	Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,192 @@
+// Copyright (c) 2006-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          : CSIPClientData.cpp
+// Part of       : SIP Client Resolver
+// Version       : 1.0
+//
+
+
+
+#include "CSIPClientData.h"
+#include "CSIPFeatureSet.h"
+#include "sdpdocument.h"
+#include "sipheaderbase.h"
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::NewL
+// -----------------------------------------------------------------------------
+//
+CSIPClientData* CSIPClientData::NewL( const TUid& aImplementationUid,
+                                      const TUid& aClientUid,
+                                      TBool aRomBased,
+		                              TBool aHasDynamicCapabilities )
+	{
+	CSIPClientData* self = NewLC( aImplementationUid, aClientUid,
+	                              aRomBased, aHasDynamicCapabilities);
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::NewLC
+// -----------------------------------------------------------------------------
+//
+CSIPClientData* CSIPClientData::NewLC( const TUid& aImplementationUid,
+                                       const TUid& aClientUid,
+                                       TBool aRomBased,
+		                               TBool aHasDynamicCapabilities )
+	{
+	CSIPClientData* self = 
+	    new( ELeave ) CSIPClientData( aImplementationUid, aClientUid,
+	                                  aRomBased, aHasDynamicCapabilities );
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::CSIPClientData
+// -----------------------------------------------------------------------------
+//
+CSIPClientData::CSIPClientData( const TUid& aImplementationUid,
+                                const TUid& aClientUid,
+                                TBool aRomBased,
+                                TBool aHasDynamicCapabilities )
+    : iImplementationUid( aImplementationUid ),
+      iClientUid( aClientUid ),
+      iRomBased( aRomBased ),
+      iHasDynamicCapabilities( aHasDynamicCapabilities )
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSIPClientData::ConstructL()
+	{
+	iSdpDocument = CSdpDocument::NewL();
+	iSIPFeatureSet = CSIPFeatureSet::NewL();
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::~CSIPClientData
+// -----------------------------------------------------------------------------
+//
+CSIPClientData::~CSIPClientData()
+	{
+	iSIPHeaders.ResetAndDestroy();
+	delete iSIPFeatureSet;
+	delete iSdpDocument;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::ClientUid
+// -----------------------------------------------------------------------------
+//
+const TUid& CSIPClientData::ClientUid() const
+	{
+	return iClientUid;
+	}
+	
+// -----------------------------------------------------------------------------
+// CSIPClientData::RomBased
+// -----------------------------------------------------------------------------
+//
+TBool CSIPClientData::RomBased() const
+	{
+	return iRomBased;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::HasDynamicCapabilities
+// -----------------------------------------------------------------------------
+//	
+TBool CSIPClientData::HasDynamicCapabilities() const
+    {
+    return iHasDynamicCapabilities;
+    }
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::ImplementationUid
+// -----------------------------------------------------------------------------
+//    
+const TUid& CSIPClientData::ImplementationUid() const
+    {
+    return iImplementationUid;
+    }
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::AllowStarting
+// -----------------------------------------------------------------------------
+//
+TBool CSIPClientData::AllowStarting() const
+	{
+	return iAllowStarting;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::SIPHeaders
+// -----------------------------------------------------------------------------
+//
+RPointerArray< CSIPHeaderBase >& CSIPClientData::SIPHeaders()
+	{
+	return iSIPHeaders;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::SIPFeatureSet
+// -----------------------------------------------------------------------------
+//	
+CSIPFeatureSet& CSIPClientData::SIPFeatureSet()
+    {
+    return *iSIPFeatureSet;
+    }
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::SdpDocument
+// -----------------------------------------------------------------------------
+//
+CSdpDocument& CSIPClientData::SdpDocument()
+	{
+	return *iSdpDocument;
+	}
+	
+// -----------------------------------------------------------------------------
+// CSIPClientData::SetAllowStarting
+// -----------------------------------------------------------------------------
+//
+void CSIPClientData::SetAllowStarting( TBool aAllowStarting )
+	{
+	iAllowStarting = aAllowStarting;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::AddMediaFieldL
+// -----------------------------------------------------------------------------
+//
+void CSIPClientData::AddMediaFieldL( CSdpMediaField* aMediaField )
+	{
+    iSdpDocument->MediaFields().AppendL( aMediaField );
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPClientData::CloneWithoutCapabilitiesLC
+// -----------------------------------------------------------------------------
+//	
+CSIPClientData* CSIPClientData::CloneWithoutCapabilitiesLC()
+    {
+    return CSIPClientData::NewLC( iImplementationUid, iClientUid, iRomBased,
+                                  iHasDynamicCapabilities );
+    }