diff -r 085f765766a0 -r 860cd8a5168c imservices/ossprotocoladaptation/src/cossprotocolconnectionmanager.cpp --- a/imservices/ossprotocoladaptation/src/cossprotocolconnectionmanager.cpp Fri May 28 18:27:27 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,371 +0,0 @@ -/* -* 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: connection manager -* -*/ - -#include "cossprotocolconnectionmanager.h" -#include "cossprotocolservererrorhandler.h" -#include "ccontactsynchandler.h" -#include -#include -#include -#include -#include -#include "xmppservicesettingsapi.h" -#include "xmppparams.h" //from xmppsettingsapi - -#include "xmppsettingsfetcher.h" -#include "xmppparameters.h" -#include "waittimer.h" - -#include -#include -#include - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::COSSProtocolConnectionManager() -// --------------------------------------------------------------------------- -// -COSSProtocolConnectionManager::COSSProtocolConnectionManager() - { - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::ConstructL() -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::ConstructL() - { - iXmppParams = CXmppParameters::NewL(); - iTimer = CWaitTimer::NewL (*this); - iTimer->StartListeningL(); //start listening message queue updation - iNotifier = CPresenceNotificationHandler::NewL ( *this ); - iNotifier->StartListeningL(); //start listening presence notifications - iSearchKeyStore = CSearchKeyStore::NewL(); - iContactManager = COSSContactManager::NewL( *this ); - - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::NewL() -// --------------------------------------------------------------------------- -// -COSSProtocolConnectionManager* COSSProtocolConnectionManager::NewL() - { - - COSSProtocolConnectionManager* self = new ( ELeave ) - COSSProtocolConnectionManager(); - - CleanupStack::PushL ( self ); - - self->ConstructL(); - CleanupStack::Pop ( self ); - - return self; - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::~COSSProtocolConnectionManager() -// --------------------------------------------------------------------------- -// -COSSProtocolConnectionManager::~COSSProtocolConnectionManager() - { - delete iXmppParams; - delete iNotifier; - delete iRecvHandler; - delete iServerErrorHandler; - delete iAddNotificationHanlder; - delete iContactSyncHandler; - delete iUserName; - delete iPassword; - delete iTimer; - delete iGroupId; - delete iContactManager; - delete iSearchKeyStore; - if(iServiceName) - { - delete iServiceName; - } - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::Username -// --------------------------------------------------------------------------- -// -TDesC& COSSProtocolConnectionManager::UserName() - { - return *iUserName; - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::Password -// --------------------------------------------------------------------------- -// -TDesC& COSSProtocolConnectionManager::Password() - { - return *iPassword; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GroupID -// --------------------------------------------------------------------------- -// -TDesC& COSSProtocolConnectionManager::GroupId() - { - return *iGroupId; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GroupID -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::SetGroupIDL(TDesC& aGroupId) - { - HBufC* tmpId = aGroupId.AllocL(); - delete iGroupId; - iGroupId=NULL; - iGroupId = tmpId ; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::XmppParams -// --------------------------------------------------------------------------- -// -CXmppParameters& COSSProtocolConnectionManager::XmppParams() - { - return *iXmppParams; - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::DataHandler() -// --------------------------------------------------------------------------- -// -CWaitTimer& COSSProtocolConnectionManager::DataHandler() - { - return *iTimer; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::HandleToHost() -// --------------------------------------------------------------------------- -// -MXIMPProtocolConnectionHost& COSSProtocolConnectionManager::HandleToHost() - { - return *iHostHandle; - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::SetHost() -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::SetHost ( MXIMPProtocolConnectionHost& aHost ) - { - iHostHandle = &aHost; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::SetConnectionParamsL() -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::SetConnectionParamsL ( const TDesC& aUserName, - const TDesC& aPassword, - const TInt32 aServiceId ) - { - - // first store the login parameters - - HBufC* tmpBuf = aUserName.AllocL(); - delete iUserName; - iUserName = tmpBuf; - - tmpBuf = aPassword.AllocL(); - delete iPassword; - iPassword = tmpBuf; - - SetConnectionParamsL( aServiceId, EFalse ); - } - - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::ManufactureDataHandlerL() -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::ManufactureDataHandlerL() - { - if(!iIsDataHandlerReady) - { - iRecvHandler = CReceiveMessageHandler::NewL ( *this ); - iRecvHandler->StartListeningL();//start listening incoming messages - iServerErrorHandler = COssprotocolServerErrorHandler::NewL ( *this ); - iServerErrorHandler->StartListeningL();//start listening incoming messages - iAddNotificationHanlder = CAddContactNotificationHandler::NewL ( *this ); - iContactSyncHandler = CContactSyncHandler::NewL(*this); - iContactSyncHandler->StartListening(); // listening for contacts changes - iIsDataHandlerReady = ETrue; - } - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::SetConnectionParamsL -// --------------------------------------------------------------------------- -// -TInt COSSProtocolConnectionManager::SetConnectionParamsL ( const TUint32 aServiceId , TBool aReadNeeded /* = ETrue*/ ) - { - // Get the service setting id and service name - TInt error = KErrNone; - - CSPSettings* settings = CSPSettings::NewLC(); - - if(aReadNeeded) - { - TInt settingsId = 0; - CSPProperty* property = CSPProperty::NewLC(); - settings->FindPropertyL( aServiceId, - ESubPropertyIMSettingsId, - *property ); - if ( property ) - { - property->GetValue( settingsId ); - } - // read settings - - error = CXmppSettingsFetcher::ReadSettingsL ( settingsId, *iXmppParams ); //settings id is used to read settings - - CleanupStack::PopAndDestroy(); // property - - } - // read service name - CSPEntry* entry = CSPEntry::NewLC(); - settings->FindEntryL( aServiceId, *entry ) ; - - // set the service name to presence cache updater - if(iServiceName) - { - delete iServiceName; - iServiceName = NULL; - } - iServiceName = entry->GetServiceName().AllocL(); - CleanupStack::PopAndDestroy(2); // entry, settings - - return error; - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::PresenceAuthGrantReqList() -// --------------------------------------------------------------------------- -// -RArray< HBufC >* COSSProtocolConnectionManager::PresenceAuthGrantReqList() - { - return &iPresenceAuthGrantReqList; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::ReleaseConnectionL() -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::ReleaseConnectionL() - { - if( iTimer ) - { - iTimer->IssueReleaseRequestL(); - } - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::IsServerDisconnect() -// --------------------------------------------------------------------------- -// -TBool COSSProtocolConnectionManager::IsServerDisconnect() - { - return iTimer->IsServerDisconnect(); - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::SetImHost -// --------------------------------------------------------------------------- -// - -void COSSProtocolConnectionManager::SetImHost(MProtocolImDataHost& aHost) - { - iHost = &aHost ; - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GetImHost() -// --------------------------------------------------------------------------- -// -MProtocolImDataHost& COSSProtocolConnectionManager::GetImHost() - { - return *iHost; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GetAddNotificationHandler() -// --------------------------------------------------------------------------- -// -CAddContactNotificationHandler& COSSProtocolConnectionManager::GetAddNotificationHandler() - { - return *iAddNotificationHanlder; - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::SetSearchHost -// --------------------------------------------------------------------------- -// -void COSSProtocolConnectionManager::SetSearchHost(MProtocolSearchDataHost& aSearchHost) - { - iSearchHost = &aSearchHost ; - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GetSearchHost() -// --------------------------------------------------------------------------- -// -MProtocolSearchDataHost& COSSProtocolConnectionManager::GetSearchHost() - { - return *iSearchHost; - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GetSearchKeyStore() -// --------------------------------------------------------------------------- -// -CSearchKeyStore& COSSProtocolConnectionManager::GetSearchKeyStore() - { - return *iSearchKeyStore; - } - -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::GetContactManager() -// --------------------------------------------------------------------------- -// -COSSContactManager& COSSProtocolConnectionManager::GetContactManager() - { - return *iContactManager; - } -// --------------------------------------------------------------------------- -// COSSProtocolConnectionManager::ServiceName() -// --------------------------------------------------------------------------- -// -const TDesC& COSSProtocolConnectionManager::ServiceName() - { - return *iServiceName; - } -// End of File - -