diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/MMCTestDriver/MCETester/VoIPPlugin/src/VoIPPlugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/tsrc/MMCTestDriver/MCETester/VoIPPlugin/src/VoIPPlugin.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,171 @@ +/* +* Copyright (c) 2002-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 of VoIP client resolver for incoming SIP messages +* +*/ + + + + +// INCLUDE FILES +#include +#include "VoIPPlugin.h" +#include "EComImplementationProxy.h" +#include +#include +#include +#include +#include +#include + +// CONSTANTS +const TUid KMyApplicationUid = {0x10202870}; + +// The capabilities defined here are valid, but not in use, since they are defined in reseource file. +_LIT8(KCapabilities, +//""); +"" ); + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CVoIPPlugin::CVoIPPlugin +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CVoIPPlugin::CVoIPPlugin() + { + } + + +// ----------------------------------------------------------------------------- +// CVoIPPlugin::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CVoIPPlugin::ConstructL() + { + RImplInfoPtrArray infoArray; + REComSession::ListImplementationsL( KSIPResolvedClientIFUid, infoArray ); + CleanupStack::PushL( TCleanupItem( ResetAndDestroy, &infoArray ) ); + + TBool found = EFalse; + for (TInt i=0; !found && iImplementationUid() == KMyApplicationUid ) + { + 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 ); + } + } + + +// ----------------------------------------------------------------------------- +// CVoIPPlugin::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CVoIPPlugin* CVoIPPlugin::NewL() + { + CVoIPPlugin* self = new( ELeave ) CVoIPPlugin; + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + } + + +// Destructor +CVoIPPlugin::~CVoIPPlugin() + { + } + + +// ----------------------------------------------------------------------------- +// CVoIPPlugin::ChannelL +// Implementation of ChannelL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TUid CVoIPPlugin::ChannelL( RStringF /*aMethod*/, + const TDesC8& /*aRequestUri*/, + const RPointerArray& /*aHeaders*/, + const TDesC8& /*aContent*/, + const CSIPContentTypeHeader* /*aContentType*/) + { + const TUid KServerUid3 = {0x1020E4C7}; + return KServerUid3; + + //return iApplicationUID; + } + + +// ----------------------------------------------------------------------------- +// ChannelL::ConnectL +// ConnectL, does nothing +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CVoIPPlugin::ConnectL( TUid /*aUid*/ ) + { + } + + +// ----------------------------------------------------------------------------- +// CVoIPPlugin::Capabilities +// Returns application capabilities if not defined in rss-file +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +const TDesC8& CVoIPPlugin::Capabilities() + { + return KCapabilities; + } + + +// ----------------------------------------------------------------------------- +// CVoIPPlugin::ResetAndDestroy +// Implementation of ResetAndDestroy +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CVoIPPlugin::ResetAndDestroy( TAny* anArray ) + { + RImplInfoPtrArray* array = reinterpret_cast( anArray ); + if (array) + { + array->ResetAndDestroy(); + } + } + +// End of File + + +