multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin/src/CTTCNResolverPlugin2.cpp
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin/src/CTTCNResolverPlugin2.cpp	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2004 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:  Implementation.
+*
+*/
+
+#include "CTTCNResolverPlugin2.h"
+#include <apacmdln.h>
+
+_LIT8(KCapabilities,
+"<SIP_CLIENT ALLOW_STARTING=\"YES\">\
+<SIP_HEADERS>\
+<ACCEPT value=\"application/sdp\"/>\
+<ACCEPT_CONTACT value=\"*;+g.3gpp.cs-voice;require;explicit\"/>\
+</SIP_HEADERS>\
+<SDP_LINES>\
+<LINE name=\"m\" value=\"video 60000 RTP/AVP 98\">\
+<MEDIA_ATTRIBUTE value=\"application:com.nokia.rtvoip\"/>\
+</LINE>\
+</SDP_LINES>\
+</SIP_CLIENT>");
+
+
+
+/*_LIT8(KCapabilities,
+"<SIP_CLIENT ALLOW_STARTING=\"YES\">\
+<SIP_HEADERS>\
+<ACCEPT value=\"application/sdp\"/>\
+</SIP_HEADERS>\
+<SDP_LINES>\
+<LINE name=\"m\" value=\"video 60000  RTP/AVP 98\"><MEDIA_ATTRIBUTE value=\"application2:com.nokia.rtvoip\"/></LINE>\
+</SDP_LINES>\
+<ACCEPT_CONTACT value=\"*;+g.3gpp.cs-voice;require;explicit\"/>\
+</SIP_CLIENT>");
+*/
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin2::NewL
+// -----------------------------------------------------------------------------
+//
+CTTCNResolverPlugin2* CTTCNResolverPlugin2::NewL()
+	{
+	CTTCNResolverPlugin2* self = new( ELeave ) CTTCNResolverPlugin2;
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin2::~CTTCNResolverPlugin2
+// -----------------------------------------------------------------------------
+//	
+CTTCNResolverPlugin2::~CTTCNResolverPlugin2()
+    {
+    delete iCapabilities;
+    }
+	
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin2::MyUid
+// -----------------------------------------------------------------------------
+//
+TInt32 CTTCNResolverPlugin2::MyUid() const
+    {
+    return KTTCNResolverPluginUID2;
+    }
+    
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin2::Capabilities
+// -----------------------------------------------------------------------------
+//
+const TDesC8& CTTCNResolverPlugin2::Capabilities()
+    {
+    TRAP_IGNORE( CapabilitiesL() )
+    
+    return *iCapabilities;
+    }
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin2::ConstructL
+// -----------------------------------------------------------------------------
+//    
+void CTTCNResolverPlugin2::ConstructL()
+    {
+    CTTCNResolverPluginBase::ConstructL();
+    
+    iCapabilities = KCapabilities().AllocL();
+    }
+    
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin2::CapabilitiesL
+// -----------------------------------------------------------------------------
+//
+void CTTCNResolverPlugin2::CapabilitiesL()
+    {
+    // Read capabilities data from c:\ttcnresolverplugincaps_????????.xml,
+    // where ???????? is uid of the plugin.
+    // If file doesn't exist, default capabilites data will be used.
+    TFileName capabilitiesLocation;
+    ConstructUidFileNameL( _L("c:\\ttcnresolverplugincaps"), 
+                           MyUid(), 
+                           _L(".xml"),
+                           capabilitiesLocation );
+    
+   	HBufC8* tempCaps = ReadFileContentsL( capabilitiesLocation );
+    if ( tempCaps )
+        {
+        delete iCapabilities;
+	    iCapabilities = tempCaps;
+        }
+    }
+