diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/MMCTestDriver/MCETester/ttcnresolverplugin/src/CTTCNResolverPluginBase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/tsrc/MMCTestDriver/MCETester/ttcnresolverplugin/src/CTTCNResolverPluginBase.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,118 @@ +/* +* 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 "CTTCNResolverPluginBase.h" +#include + + +// ----------------------------------------------------------------------------- +// CTTCNResolverPluginBase::ConstructL +// ----------------------------------------------------------------------------- +// +void CTTCNResolverPluginBase::ConstructL() + { + const TUid KMyImplementationUid = { MyUid() }; + + RImplInfoPtrArray infoArray; + REComSession::ListImplementationsL( KSIPResolvedClientIFUid, infoArray ); + CleanupStack::PushL( TCleanupItem( ResetAndDestroy, &infoArray ) ); + + TBool found = EFalse; + for (TInt i=0; !found && iImplementationUid() == KMyImplementationUid ) + { + TLex8 lex( info->DataType() ); + TUint value( 0 ); + User::LeaveIfError( lex.Val( value, EHex ) ); + iApplicationUID.iUid = value; + found = ETrue; + } + } + + CleanupStack::PopAndDestroy( 1 ); // infoArray + + if ( !found ) + { + User::Leave( KErrNotFound ); + } + + User::LeaveIfError( iApaSession.Connect() ); + } + +// ----------------------------------------------------------------------------- +// CTTCNResolverPluginBase::~CTTCNResolverPluginBase +// ----------------------------------------------------------------------------- +// +CTTCNResolverPluginBase::~CTTCNResolverPluginBase() + { + iApaSession.Close(); + } + +// ----------------------------------------------------------------------------- +// CTTCNResolverPluginBase::ChannelL +// ----------------------------------------------------------------------------- +// +TUid CTTCNResolverPluginBase::ChannelL( RStringF /*aMethod*/, + const TDesC8& /*aRequestUri*/, + const RPointerArray& /*aHeaders*/, + const TDesC8& /*aContent*/, + const CSIPContentTypeHeader* /*aContentType*/) + { + //return iApplicationUID; + const TUid KServerUid3 = {0x10203355}; + return KServerUid3; + + } + + +// ----------------------------------------------------------------------------- +// CTTCNResolverPluginBase::ConnectL +// ----------------------------------------------------------------------------- +// +void CTTCNResolverPluginBase::ConnectL( TUid /*aUid*/ ) + { + /* + TApaAppInfo appInfo; + User::LeaveIfError( iApaSession.GetAppInfo( appInfo, aUid ) ); + CApaCommandLine* cmdLine = CApaCommandLine::NewLC(); + #ifdef EKA2 + cmdLine->SetExecutableNameL( appInfo.iFullName ); + #else + cmdLine->SetLibraryNameL( appInfo.iFullName ); + #endif + User::LeaveIfError( iApaSession.StartApp( *cmdLine ) ); + CleanupStack::PopAndDestroy( cmdLine ); + */ + } + +// ----------------------------------------------------------------------------- +// CTTCNResolverPluginBase::ResetAndDestroy +// ----------------------------------------------------------------------------- +// +void CTTCNResolverPluginBase::ResetAndDestroy( TAny* anArray ) + { + RImplInfoPtrArray* array = reinterpret_cast( anArray ); + if (array) + { + array->ResetAndDestroy(); + } + } +