diff -r 3104fc151679 -r 9a48e301e94b imstutils/imconversationview/tsrc/imcvuiengine_test/dummytestadaptation/src/cossprotocolconnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imstutils/imconversationview/tsrc/imcvuiengine_test/dummytestadaptation/src/cossprotocolconnection.cpp Wed Sep 01 12:33:36 2010 +0100 @@ -0,0 +1,305 @@ +/* +* Copyright (c) 2007-2008 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: oss protocol plugin connection +* +*/ + +#include "cossprotocolconnection.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cossprotocolconnectionmanager.h" +#include "cossprotocolimfeatures.h" + +#include "cossprotocolloginrequest.h" +#include "mossprotocolconnectionmanager.h" + +#include "cossprotocollogoutrequest.h" +#include + + +// ======== COSSProtocolConnection - MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::COSSProtocolConnection() +// --------------------------------------------------------------------------- +// +COSSProtocolConnection::COSSProtocolConnection() + { + //LOGGER ( TXT ( "COSSProtocolConnection::COSSProtocolConnection() Start-End" ) ); + } + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::ConstructL() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::ConstructL ( + const MXIMPServiceInfo& /*aServiceInfo*/ , + const MXIMPContextClientInfo& /*aClientCtxInfo*/ ) + { + //LOGGER ( TXT ( "COSSProtocolConnection::ConstructL() Start" ) ); + +// PLUGIN_UNUSED_PARAM ( aClientCtxInfo ); + iConnMan = COSSProtocolConnectionManager::NewL(); + +// iPresFeatures = COSSProtocolPresenceFeatures::NewL ( *iConnMan ); + iImFeatures = COSSProtocolImFeatures::NewL ( *iConnMan ); + //LOGGER ( TXT ( "COSSProtocolConnection::ConstructL() End" ) ); + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::NewL() +// --------------------------------------------------------------------------- +// +COSSProtocolConnection* COSSProtocolConnection::NewL ( + const MXIMPServiceInfo& aServiceInfo, + const MXIMPContextClientInfo& aClientCtxInfo ) + { + //LOGGER ( TXT ( "COSSProtocolConnection::NewL() Start" ) ); + + COSSProtocolConnection* self = new ( ELeave ) COSSProtocolConnection; + CleanupStack::PushL ( self ); + self->ConstructL ( aServiceInfo, aClientCtxInfo ); + CleanupStack::Pop ( self ); + + //LOGGER ( TXT ( "COSSProtocolConnection::NewL() End" ) ); + return self; + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::~COSSProtocolConnection() +// --------------------------------------------------------------------------- +// +COSSProtocolConnection::~COSSProtocolConnection() + { + //LOGGER ( TXT ( "COSSProtocolConnection::~COSSProtocolConnection() Start" ) ); + + delete iConnMan; + delete iImFeatures; + //LOGGER ( TXT ( "COSSProtocolConnection::~COSSProtocolConnection() End" ) ); + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::GetInterface() +// --------------------------------------------------------------------------- +// +TAny* COSSProtocolConnection::GetInterface ( TInt32 aInterfaceId, + TIfGetOps aOptions ) + { + //LOGGER ( TXT ( "COSSProtocolConnection::GetInterface() Start" ) ); + + if ( aInterfaceId == MXIMPProtocolConnection::KInterfaceId ) + { + MXIMPProtocolConnection* self = this; + return self; + } + + if ( aOptions == MXIMPBase::EPanicIfUnknown ) + + { + User::Panic ( KOSSProtocolConnection, KErrExtensionNotSupported ); + } + + //LOGGER ( TXT ( "COSSProtocolConnection::GetInterface() End" ) ); + + return NULL; + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::GetInterface() const +// --------------------------------------------------------------------------- +// +const TAny* COSSProtocolConnection::GetInterface ( TInt32 aInterfaceId, + TIfGetOps aOptions ) const + { + //LOGGER ( TXT ( "COSSProtocolConnection::GetInterface() const Start" ) ); + + if ( aInterfaceId == MXIMPProtocolConnection::KInterfaceId ) + { + const MXIMPProtocolConnection* self = this; + return self; + } + + if ( aOptions == MXIMPBase::EPanicIfUnknown ) + { + User::Panic ( KOSSProtocolConnection, KErrExtensionNotSupported ); + } + + //LOGGER ( TXT ( "COSSProtocolConnection::GetInterface() const End" ) ); + + return NULL; + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::GetInterfaceId() const +// --------------------------------------------------------------------------- +// +TInt32 COSSProtocolConnection::GetInterfaceId() const + { + //LOGGER ( TXT ( "COSSProtocolConnection::GetInterfaceId() Start-End" ) ); + return MXIMPProtocolConnection::KInterfaceId; + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::PrimeHost() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::PrimeHost ( MXIMPProtocolConnectionHost& aHost ) + { + //LOGGER ( TXT ( "COSSProtocolConnection::PrimeHost() Start" ) ); + + iConnMan->SetHost ( aHost ); + + //LOGGER ( TXT ( "COSSProtocolConnection::PrimeHost() Start" ) ); + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::OpenSessionL() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::OpenSessionL ( + const MXIMPContextClientInfo& /*aClientCtxInfo*/, + TXIMPRequestId aOpId ) + { + + iConnMan->HandleToHost().HandleRequestCompleted(aOpId,KErrNone); + + //LOGGER ( TXT ( "COSSProtocolConnection::OpenSessionL() End" ) ); + } + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::OpenSessionL() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::OpenSessionL ( const TInt& /*aSettingsId*/, + TXIMPRequestId aReqId ) + { + //LOGGER ( TXT ( "COSSProtocolConnection::OpenSessionLsettingsid \n" ) ); + + iConnMan->HandleToHost().HandleRequestCompleted(aReqId,KErrNone); + + + //LOGGER ( TXT ( "COSSProtocolConnection::OpenSessionLsettingsid() End" ) ); + } + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::OpenSessionL() +// --------------------------------------------------------------------------- +// + +void COSSProtocolConnection::OpenSessionL ( + const MXIMPContextClientInfo& /*aContextClient*/, + const TInt& /*aSettingsId*/, + TXIMPRequestId /*aReqId*/ ) + { + + } + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::CloseSession() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::CloseSession ( + const MXIMPContextClientInfo& /*aClientCtxInfo*/, + TXIMPRequestId aOpId ) + { + iConnMan->HandleToHost().HandleRequestCompleted(aOpId,KErrNone); + //LOGGER ( TXT ( "COSSProtocolConnection::CloseSession() End" ) ); + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::ReOpenSessionsL() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::ReOpenSessionsL ( TXIMPRequestId /*aOpId*/ ) + { + //LOGGER ( TXT ( "COSSProtocolConnection::ReOpenSessionsL() Start" ) ); + + //LOGGER ( TXT ( "COSSProtocolConnection::ReOpenSessionsL() End" ) ); + } + + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::GetSupportedFeaturesL() +// --------------------------------------------------------------------------- +// +void COSSProtocolConnection::GetSupportedFeaturesL ( CDesC8Array& aFeatures ) const + { + //LOGGER ( TXT ( "COSSProtocolConnection::GetSupportedFeaturesL() Start End" ) ); + // first empty the whole array + aFeatures.Reset(); + + // then add our features there + aFeatures.AppendL ( KConnectionFeature ); + //LOGGER ( TXT ( "COSSProtocolConnection::GetSupportedFeaturesL" ) ); + } + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::ProtocolPresenceFeatures() +// --------------------------------------------------------------------------- +// +MProtocolPresenceFeatures& COSSProtocolConnection::ProtocolPresenceFeatures() + { + //LOGGER ( TXT ( "COSSProtocolConnection::ProtocolPresenceFeatures() Start " ) ); + //LOGGER ( TXT ( "COSSProtocolConnection::ProtocolPresenceFeatures() End " ) ); + return *iPresenceFeature; + } +// --------------------------------------------------------------------------- +// COSSProtocolConnection::ProtocolImFeatures() +// --------------------------------------------------------------------------- +// +/* +MProtocolImFeatures* COSSProtocolConnection::ProtocolImFeatures() + { + LOGGER ( TXT ( "COSSProtocolConnection::ProtocolImFeatures() Start " ) ); + return iImFeatures; + }*/ + +// --------------------------------------------------------------------------- +// COSSProtocolConnection::ReleaseConnectionL() +// --------------------------------------------------------------------------- +// + +void COSSProtocolConnection::ReleaseConnectionL() + { + //LOGGER ( TXT ( "COSSProtocolConnection::ReleaseConnectionL() Start " ) ); + + //LOGGER ( TXT ( "COSSProtocolConnection::ReleaseConnectionL() End" ) ); + } +TAny* COSSProtocolConnection::GetProtocolInterface(TInt aInterfaceId) + { + if(aInterfaceId == MProtocolImFeatures::KInterfaceId) + { + return iImFeatures->GetInterface(aInterfaceId, MXIMPBase::EPanicIfUnknown ); + } + return NULL; + } +