multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin/src/CTTCNResolverPlugin1.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin/src/CTTCNResolverPlugin1.cpp Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,126 @@
+/*
+* 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 "CTTCNResolverPlugin1.h"
+#include <apacmdln.h>
+
+_LIT8(KCapabilities,
+"<SIP_CLIENT ALLOW_STARTING=\"YES\">\
+<SIP_HEADERS>\
+<ACCEPT value=\"text/plain\"/>\
+<ACCEPT value=\"application/sdp\"/>\
+<ACCEPT value=\"mime/submime\"/>\
+<ACCEPT value=\"corrupted/corrupted\"/>\
+<ACCEPT value=\"\"/>\
+<ACCEPT_CONTACT value=\"*;+testdriver\"/>\
+</SIP_HEADERS>\
+<SDP_LINES>\
+<LINE name=\"m\" value=\"audio 30000 RTP/AVP 98\"/>\
+<LINE name=\"m\" value=\"audio 54321 RTP/AVP 104\"/>\
+<LINE name=\"m\" value=\"audio 54321 RTP/AVT 104\"/>\
+<LINE name=\"m\" value=\"audio 30000 RTP/AVP 98\"/>\
+<LINE name=\"m\" value=\"audio 30002 RTP/AVP 0/8\"/>\
+<LINE name=\"m\" value=\"audio 30000 RTP/AVP 0/8\"/>\
+<LINE name=\"m\" value=\"audio 30000 RTP/AVP 99\"/>\
+<LINE name=\"m\" value=\"audio 49172 RTP/AVP 0\"/>\
+<LINE name=\"m\" value=\"audio 49154 RTP/AVP 105\"/>\
+<LINE name=\"m\" value=\"control 54321 RTP/POC 104\"/>\
+<LINE name=\"m\" value=\"control 49154 RTP/POC 104\"/>\
+<LINE name=\"m\" value=\"application 5062 TCP X-game\"/>\
+<LINE name=\"m\" value=\"application 5062 tcp X-game\"/>\
+<LINE name=\"m\" value=\"application 5062 UDP X-game\"/>\
+<LINE name=\"m\" value=\"application 5062 TCP X-ZZZ\"/>\
+<LINE name=\"m\" value=\"application 6544 udp 98\"/>\
+</SDP_LINES>\
+</SIP_CLIENT>");
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin1::NewL
+// -----------------------------------------------------------------------------
+//
+CTTCNResolverPlugin1* CTTCNResolverPlugin1::NewL()
+ {
+ CTTCNResolverPlugin1* self = new( ELeave ) CTTCNResolverPlugin1;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin1::~CTTCNResolverPlugin1
+// -----------------------------------------------------------------------------
+//
+CTTCNResolverPlugin1::~CTTCNResolverPlugin1()
+ {
+ delete iCapabilities;
+ }
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin1::MyUid
+// -----------------------------------------------------------------------------
+//
+TInt32 CTTCNResolverPlugin1::MyUid() const
+ {
+ return KTTCNResolverPluginUID1;
+ }
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin1::Capabilities
+// -----------------------------------------------------------------------------
+//
+const TDesC8& CTTCNResolverPlugin1::Capabilities()
+ {
+ TRAP_IGNORE( CapabilitiesL() )
+
+ return *iCapabilities;
+ }
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin1::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CTTCNResolverPlugin1::ConstructL()
+ {
+ CTTCNResolverPluginBase::ConstructL();
+
+ iCapabilities = KCapabilities().AllocL();
+ }
+
+// -----------------------------------------------------------------------------
+// CTTCNResolverPlugin1::CapabilitiesL
+// -----------------------------------------------------------------------------
+//
+void CTTCNResolverPlugin1::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;
+ }
+ }
+