diff -r fc7b30ed2058 -r 05bc53fe583b cmmanager/cmmgr/Framework/Src/cmmanager.cpp --- a/cmmanager/cmmgr/Framework/Src/cmmanager.cpp Thu Aug 19 10:18:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,555 +0,0 @@ -/* -* Copyright (c) 2006 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 RCmManager. -* -*/ - -#include -#include -#include -#include "cmlogger.h" -#include "cmmanagerimpl.h" -#include "cmdestinationimpl.h" -#include "cmmanager.hrh" -#include -#include -#include - -//----------------------------------------------------------------------------- -// RCmManager::Close() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::Close() - { - CLOG_WRITE( "RCmManagerExt::Close()" ); - delete iImplementation; - iImplementation = NULL; - - CLOG_CLOSE; - } - -//----------------------------------------------------------------------------- -// RCmManager::OpenL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::OpenL() - { - CLOG_CREATE; - CLOG_NAME_1( _L("Manager_0x%x"), this ); - iImplementation = CCmManagerImpl::NewL(EFalse); - CLOG_ATTACH( iImplementation, this ); - } - -//----------------------------------------------------------------------------- -// RCmManagerExt::CreateTablesAndOpenL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::CreateTablesAndOpenL() - { - CLOG_CREATE; - CLOG_NAME_1( _L("Manager_0x%x"), this ); - iImplementation = CCmManagerImpl::NewL(); - CLOG_ATTACH( iImplementation, this ); - } - -//----------------------------------------------------------------------------- -// RCmManager::OpenLC() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::OpenLC() - { - CLOG_CREATE; - CLOG_NAME_1( _L("Manager_0x%x"), this ); - CleanupClosePushL(*this); - iImplementation = NULL; - iImplementation = CCmManagerImpl::NewL(); - CLOG_ATTACH( iImplementation, this ); - } - -//----------------------------------------------------------------------------- -// RCmManager::ConnectionMethodL( TUint aId ) -//----------------------------------------------------------------------------- -// -EXPORT_C RCmConnectionMethod RCmManager::ConnectionMethodL( - TUint32 aIapId ) const - { - RCmConnectionMethod cm; - CCmPluginBase* cM = iImplementation->GetConnectionMethodL( aIapId ); - cm.iImplementation = cM->Plugin(); - cm.iImplementation->IncrementRefCounter(); - delete cM; - - return cm; - } - -//----------------------------------------------------------------------------- -// RCmManager::GetBearerInfoIntL() -//----------------------------------------------------------------------------- -// -EXPORT_C TUint32 RCmManager::GetBearerInfoIntL( TUint32 aBearerType, - TUint32 aAttribute ) const - { - return iImplementation->GetBearerInfoIntL( aBearerType, - aAttribute ); - } - -//----------------------------------------------------------------------------- -// RCmManager::GetBearerInfoBoolL() -//----------------------------------------------------------------------------- -// -EXPORT_C TBool RCmManager::GetBearerInfoBoolL( TUint32 aBearerType, - TUint32 aAttribute ) const - { - return iImplementation->GetBearerInfoBoolL( aBearerType, - aAttribute ); - } - -//----------------------------------------------------------------------------- -// RCmManager::GetBearerInfoStringL() -//----------------------------------------------------------------------------- -// -EXPORT_C HBufC* RCmManager::GetBearerInfoStringL( TUint32 aBearerType, - TUint32 aAttribute ) const - { - return iImplementation->GetBearerInfoStringL( aBearerType, - aAttribute ); - } - -//----------------------------------------------------------------------------- -// RCmManager::GetBearerInfoStringL() -//----------------------------------------------------------------------------- -// -EXPORT_C HBufC8* RCmManager::GetBearerInfoString8L( TUint32 aBearerType, - TUint32 aAttribute ) const - { - return iImplementation->GetBearerInfoString8L( aBearerType, - aAttribute ); - } - -// ----------------------------------------------------------------------------- -// RCmManager::GetConnectionMethodInfoIntL() -// ----------------------------------------------------------------------------- -// -EXPORT_C TUint32 RCmManager::GetConnectionMethodInfoIntL( - TUint32 aIapId, - TUint32 aAttribute ) const - { - return iImplementation->GetConnectionMethodInfoIntL( aIapId, aAttribute ); - } - -// ----------------------------------------------------------------------------- -// RCmManager::GetConnectionMethodInfoBoolL() -// ----------------------------------------------------------------------------- -// -EXPORT_C TBool RCmManager::GetConnectionMethodInfoBoolL( - TUint32 aIapId, - TUint32 aAttribute ) const - { - return iImplementation->GetConnectionMethodInfoBoolL( aIapId, aAttribute ); - } - -// ----------------------------------------------------------------------------- -// RCmManager::GetConnectionMethodInfoStringL() -// ----------------------------------------------------------------------------- -// -EXPORT_C HBufC* RCmManager::GetConnectionMethodInfoStringL( - TUint32 aIapId, - TUint32 aAttribute ) const - { - return iImplementation->GetConnectionMethodInfoStringL( aIapId, aAttribute ); - } - -// ----------------------------------------------------------------------------- -// RCmManager::GetConnectionMethodInfoString8L() -// ----------------------------------------------------------------------------- -// -EXPORT_C HBufC8* RCmManager::GetConnectionMethodInfoString8L( - TUint32 aIapId, - TUint32 aAttribute ) const - { - return iImplementation->GetConnectionMethodInfoString8L( aIapId, aAttribute ); - } - -//============================================================================= -// CREATION / DELETION API -//============================================================================= -// - -//----------------------------------------------------------------------------- -// RCmManager::CreateDestinationL( const TDesC& aName ) -//----------------------------------------------------------------------------- -// -EXPORT_C RCmDestination RCmManager::CreateDestinationL( const TDesC& aName ) - { - LOGGER_ENTERFN( "RCmManager::CreateDestinationL" ); - - RCmDestination dest; - - CCmDestinationImpl* destImp = iImplementation->CreateDestinationL( aName ); - dest.iDestinatonData = destImp->GetData(); - dest.iDestinatonData->IncrementRefCounter(); - delete destImp; - - return dest; - } - -// ----------------------------------------------------------------------------- -// RCmManager::CreateConnectionMethodL() -// ----------------------------------------------------------------------------- -// -EXPORT_C RCmConnectionMethod RCmManager::CreateConnectionMethodL( - TUint32 aImplementationUid ) - { - LOGGER_ENTERFN( "RCmManager::CreateConnectionMethodL" ); - - RCmConnectionMethod cm; - - CCmPluginBase* cM = - iImplementation->CreateConnectionMethodL( aImplementationUid ); - cm.iImplementation = cM->Plugin(); - cm.iImplementation->IncrementRefCounter(); - delete cM; - - return cm; - } - -//----------------------------------------------------------------------------- -// RCmManager::CopyL() -//----------------------------------------------------------------------------- -// -EXPORT_C TInt RCmManager::CopyConnectionMethodL( - RCmDestination& aTargetDestination, - RCmConnectionMethod& aConnectionMethod ) - { - LOGGER_ENTERFN( "RCmManager::CopyConnectionMethodL" ); - - CCmDestinationImpl* aImplementation = - CCmDestinationImpl::NewLC(aTargetDestination.iDestinatonData); - // Deleting aImplementation will decrement the ref counter - aImplementation->IncrementRefCounter(); - CCmPluginBase* connMethod = new (ELeave) - CCmPluginBase(aConnectionMethod.iImplementation); - connMethod->IncrementRefCounter(); - CleanupStack::PushL( connMethod ); - TInt retVal = iImplementation->CopyConnectionMethodL( - *aImplementation, - *connMethod ); - CleanupStack::PopAndDestroy(connMethod); - CleanupStack::PopAndDestroy(aImplementation); - return retVal; - } - -//----------------------------------------------------------------------------- -// RCmManager::MoveConnMethodL() -//----------------------------------------------------------------------------- -// -EXPORT_C TInt RCmManager::MoveConnectionMethodL( - RCmDestination& aSourceDestination, - RCmDestination& aTargetDestination, - RCmConnectionMethod& aConnectionMethod ) - { - LOGGER_ENTERFN( "RCmManager::MoveConnectionMethodL" ); - - CCmDestinationImpl* aSourceImpl = - CCmDestinationImpl::NewLC(aSourceDestination.iDestinatonData); - aSourceImpl->IncrementRefCounter(); - CCmDestinationImpl* aTargetImpl = - CCmDestinationImpl::NewLC(aTargetDestination.iDestinatonData); - aTargetImpl->IncrementRefCounter(); - CCmPluginBase* connMethod = new (ELeave) - CCmPluginBase(aConnectionMethod.iImplementation); - connMethod->IncrementRefCounter(); - CleanupStack::PushL( connMethod ); - TInt retVal = iImplementation->MoveConnectionMethodL( - *aSourceImpl, - *aTargetImpl, - *connMethod ); - CleanupStack::PopAndDestroy(connMethod); - CleanupStack::PopAndDestroy(aTargetImpl); - CleanupStack::PopAndDestroy(aSourceImpl); - return retVal; - } - -//----------------------------------------------------------------------------- -// RCmManager::RemoveConnectionMethodL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::RemoveConnectionMethodL( - RCmDestination& aDestination, - RCmConnectionMethod& aConnectionMethod ) - { - LOGGER_ENTERFN( "RCmManager::RemoveConnectionMethodL" ); - - CCmDestinationImpl* aDestImpl = - CCmDestinationImpl::NewLC(aDestination.iDestinatonData); - aDestImpl->IncrementRefCounter(); - CCmPluginBase* connMethod = new (ELeave) - CCmPluginBase(aConnectionMethod.iImplementation); - connMethod->IncrementRefCounter(); - CleanupStack::PushL( connMethod ); - - iImplementation->RemoveConnectionMethodL( *aDestImpl, *connMethod ); - - CleanupStack::PopAndDestroy(connMethod); - CleanupStack::PopAndDestroy(aDestImpl); - } - -//----------------------------------------------------------------------------- -// RCmManager::RemoveAllReferencesL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::RemoveAllReferencesL( - RCmConnectionMethod& aConnectionMethod ) - { - LOGGER_ENTERFN( "RCmManager::RemoveAllReferencesL" ); - - iImplementation->RemoveAllReferencesL( *aConnectionMethod.iImplementation ); - } - -//----------------------------------------------------------------------------- -// RCmManager::ConnectionMethodL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::ConnectionMethodL( RArray& aCMArray, - TBool aCheckBearerType, - TBool aLegacyOnly, - TBool aEasyWlan ) const - { - LOGGER_ENTERFN( "RCmManager::ConnectionMethodL" ); - - return iImplementation->ConnectionMethodL( aCMArray, - aCheckBearerType, - aLegacyOnly, - aEasyWlan ); - } - -//----------------------------------------------------------------------------- -// RCmManager::AllDestinationsL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::AllDestinationsL( RArray& aDestArray ) const - { - LOGGER_ENTERFN( "RCmManager::AllDestinationsL" ); - - return iImplementation->AllDestinationsL( aDestArray ); - } - - -//----------------------------------------------------------------------------- -// RCmManager::DestinationL() -//----------------------------------------------------------------------------- -// -EXPORT_C RCmDestination RCmManager::DestinationL( TUint32 aId ) const - { - LOGGER_ENTERFN( "RCmManager::DestinationL" ); - - RCmDestination dest; - - CCmDestinationImpl* aDestImpl = iImplementation->DestinationL( aId ); - dest.iDestinatonData = aDestImpl->GetData( ); - dest.iDestinatonData->IncrementRefCounter(); - delete aDestImpl; - - return dest; - } - -//----------------------------------------------------------------------------- -// RCmManager::BearerPriorityArrayL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::BearerPriorityArrayL( - RArray& aArray ) const - { - LOGGER_ENTERFN( "RCmManager::BearerPriorityArray" ); - - iImplementation->BearerPriorityArrayL( aArray ); - } - -//----------------------------------------------------------------------------- -// RCmManager::UpdateBearerPriorityArrayL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::UpdateBearerPriorityArrayL( - const RArray& aArray ) - { - LOGGER_ENTERFN( "RCmManager::UpdateBearerPriorityArray" ); - - iImplementation->UpdateBearerPriorityArrayL( aArray ); - } - -//----------------------------------------------------------------------------- -// RCmManager::CleanupGlobalPriorityArray() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::CleanupGlobalPriorityArray( - RArray& aArray ) const - { - LOGGER_ENTERFN( "RCmManager::CleanupGlobalPriorityArray" ); - - iImplementation->CleanupGlobalPriorityArray( aArray ); - } - -//----------------------------------------------------------------------------- -// RCmManager::SupportedBearers() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::SupportedBearersL( RArray& aArray ) const - { - LOGGER_ENTERFN( "RCmManager::SupportedBearersL" ); - - return iImplementation->SupportedBearersL( aArray ); - } - -//----------------------------------------------------------------------------- -// RCmManagerExt::UncategorizedIconL() -//----------------------------------------------------------------------------- -// -EXPORT_C CGulIcon* RCmManager::UncategorizedIconL() const - { - LOGGER_ENTERFN( "RCmManager::UncategorizedIconL" ); - - return iImplementation->UncategorizedIconL(); - } - -//----------------------------------------------------------------------------- -// RCmManager::EasyWlanIdL() -//----------------------------------------------------------------------------- -// -EXPORT_C TUint32 RCmManager::EasyWlanIdL() const - { - LOGGER_ENTERFN( "RCmManager::EasyWlanIdL" ); - - return iImplementation->EasyWlanIdL(); - } - -//----------------------------------------------------------------------------- -// RCmManagerExt::ReadDefConnL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::ReadDefConnL( TCmDefConnValue& aDCSetting ) - { - LOGGER_ENTERFN( "RCmManager::ReadDefConnL" ); - - return iImplementation->ReadDefConnL( aDCSetting ); - } - -//----------------------------------------------------------------------------- -// RCmManager::WriteDefConnL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::WriteDefConnL( const TCmDefConnValue& aDCSetting ) - { - LOGGER_ENTERFN( "RCmManager::WriteDefConnL" ); - - return iImplementation->WriteDefConnL( aDCSetting ); - } - -//----------------------------------------------------------------------------- -// RCmManager::ReadGenConnSettingsL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::ReadGenConnSettingsL( TCmGenConnSettings& aGenConnSettings ) -{ - LOGGER_ENTERFN( "RCmManager::ReadGenConnSettingsL" ); - - return iImplementation->ReadGenConnSettingsL( aGenConnSettings ); -} - -//----------------------------------------------------------------------------- -// RCmManager::WriteGenConnSettingsL() -//----------------------------------------------------------------------------- -// -EXPORT_C void RCmManager::WriteGenConnSettingsL( const TCmGenConnSettings& aGenConnSettings ) -{ - LOGGER_ENTERFN( "RCmManager::WriteGenConnSettingsL" ); - - return iImplementation->WriteGenConnSettingsL( aGenConnSettings ); -} - -//----------------------------------------------------------------------------- -// RCmManager::CreateDestinationL( const TDesC& aName, -// TUint32 aDestId ) -//----------------------------------------------------------------------------- -// -EXPORT_C RCmDestination RCmManager::CreateDestinationL( - const TDesC& aName, - TUint32 aDestId ) - { - LOGGER_ENTERFN( "RCmManager::CreateDestinationL" ); - - if ( aDestId == 0 ) - { - return CreateDestinationL( aName ); - } - - // Check if there already exists a destination with the same Id - RArray destIdArray = RArray( KCmArrayBigGranularity ); - iImplementation->AllDestinationsL( destIdArray ); - for ( TInt i = 0; i < destIdArray.Count(); i++ ) - { - if ( aDestId > 0 && aDestId < 255 ) - { - aDestId = aDestId + KCmDefaultDestinationAPTagId; - } - else if ( aDestId < KCmDefaultDestinationAPTagId+1 - && ( aDestId > ( KCmDefaultDestinationAPTagId+255 ) ) ) - { - User::Leave( KErrArgument ); - } - if ( aDestId == destIdArray[i] ) - { - destIdArray.Close(); - User::Leave( KErrAlreadyExists ); - } - } - destIdArray.Close(); - - RCmDestination dest; - - CCmDestinationImpl* destImp = - iImplementation->CreateDestinationL( aName, - aDestId ); - dest.iDestinatonData = destImp->GetData(); - dest.iDestinatonData->IncrementRefCounter(); - delete destImp; - - return dest; - } - -// ----------------------------------------------------------------------------- -// RCmManager::CreateConnectionMethodL() -// ----------------------------------------------------------------------------- -// -EXPORT_C RCmConnectionMethod RCmManager::CreateConnectionMethodL( - TUint32 aImplementationUid, - TUint32 aConnMethodId ) - { - LOGGER_ENTERFN( "RCmManager::CreateConnectionMethodL" ); - - if ( aConnMethodId == 0 ) - { - return CreateConnectionMethodL( aImplementationUid ); - } - - RCmConnectionMethod cm; - - CCmPluginBase* cM = - iImplementation->CreateConnectionMethodL( aImplementationUid, - aConnMethodId ); - cm.iImplementation = cM->Plugin(); - cm.iImplementation->IncrementRefCounter(); - delete cM; - - return cm; - }