diff -r fcbbe021d614 -r 9c97ad6591ae cmmanager/cmmgr/Plugins/cmpluginembdestination/src/cmpluginembdestination.cpp --- a/cmmanager/cmmgr/Plugins/cmpluginembdestination/src/cmpluginembdestination.cpp Fri Apr 16 15:21:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,624 +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 CCmPluginEmbDestination -* -*/ - -#include "cmdestinationimpl.h" -#include "cmpluginembdestination.h" -#include "datamobilitycommsdattypes.h" -#include "cmmanagerimpl.h" -#include "cmlogger.h" -#include // For REComSession -#include -#include -#include -#include -#include - -using namespace CMManager; -using namespace CommsDat; - -_LIT( KPluginEmbDestinationDataResDirAndFileName, - "z:cmpluginembdestinationui.rsc" ); - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::NewL() -// --------------------------------------------------------------------------- -// -CCmPluginEmbDestination* CCmPluginEmbDestination::NewL( - TCmPluginInitParam* aInitParam ) - { - CCmPluginEmbDestination* self = - new( ELeave ) CCmPluginEmbDestination( aInitParam ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - - return self; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::~CCmPluginEmbDestination() -// --------------------------------------------------------------------------- -// -CCmPluginEmbDestination::~CCmPluginEmbDestination() - { - RemoveResourceFile( KPluginEmbDestinationDataResDirAndFileName ); - - if(iDestination) - { - delete iDestination; - iDestination = NULL; - } - - CLOG_CLOSE; - } - -// ---------------------------------------------------------------------------- -// CCmPluginEmbDestination::CreateInstanceL -// ---------------------------------------------------------------------------- -// -CCmPluginBaseEng* - CCmPluginEmbDestination::CreateInstanceL( TCmPluginInitParam& aInitParam ) const - { - CCmPluginEmbDestination* self = new( ELeave ) CCmPluginEmbDestination( &aInitParam ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - - return self; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CCmPluginEmbDestination() -// --------------------------------------------------------------------------- -// -CCmPluginEmbDestination::CCmPluginEmbDestination( - TCmPluginInitParam* aInitParam ) - : CCmPluginBaseEng( aInitParam ) - { - CLOG_CREATE; - - iBearerType = KUidEmbeddedDestination; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::ConstructL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::ConstructL() - { - // Nothing is needed from CCmPluginBaseEng. - AddResourceFileL( KPluginEmbDestinationDataResDirAndFileName ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::GetIntAttributeL() -// --------------------------------------------------------------------------- -// -TUint32 - CCmPluginEmbDestination::GetIntAttributeL( const TUint32 aAttribute ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::GetIntAttributeL" ); - - TUint32 retVal( 0 ); - - switch( aAttribute ) - { - case ECmBearerType: - { - retVal = iBearerType; - } - break; - - case ECmId: - { - retVal = iCmId; - } - break; - - case ECmIapId: - { - User::Leave(KErrNotSupported); - } - break; - - case ECmBearerIcon: - { - retVal = (TUint32)iDestination->IconL(); - } - break; - - case ECmDefaultPriority: - case ECmDefaultUiPriority: - { - retVal = KDataMobilitySelectionPolicyPriorityWildCard; - } - break; - - case ECmExtensionLevel: - { - retVal = KExtensionBaseLevel; - } - break; - - case ECmInvalidAttribute: - { - retVal = 0; - } - break; - - case ECmLoadResult: - { - retVal = iLoadResult; - } - break; - - default: - { - User::Leave( KErrNotSupported ); - } - break; - } - - return retVal; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::GetBoolAttributeL() -// --------------------------------------------------------------------------- -// -TBool CCmPluginEmbDestination::GetBoolAttributeL( const TUint32 aAttribute ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::GetBoolAttributeL" ); - - TBool retVal( EFalse ); - - switch( aAttribute ) - { - case ECmDestination: - { - retVal = ETrue; - } - break; - - case ECmCoverage: - { - retVal = EFalse; - } - break; - - case ECmProtected: - { - if( iDestination->ProtectionLevel() == EProtLevel1 || - iDestination->ProtectionLevel() == EProtLevel2 ) - { - retVal = ETrue; - } - else - { - retVal = EFalse; - } - } - break; - - case ECmHidden: - { - retVal = iDestination->IsHidden(); - } - break; - - case ECmBearerHasUi: - case ECmAddToAvailableList: - { - retVal = EFalse; - } - break; - - case ECmVirtual: - { - retVal = ETrue; - } - break; - - case ECmIPv6Supported: - { - retVal = CCmPluginBaseEng::GetBoolAttributeL( aAttribute ); - } - break; - - case ECmIsLinked: - { - retVal = EFalse; - } - break; - - case ECmConnected: - { - retVal = iDestination->IsConnectedL(); - } - break; - - default: - { - User::Leave( KErrNotSupported ); - } - break; - } - - return retVal; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::GetStringAttributeL() -// --------------------------------------------------------------------------- -// -HBufC* - CCmPluginEmbDestination::GetStringAttributeL( const TUint32 aAttribute ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::GetStringAttributeL" ); - - HBufC* retVal = NULL; - - switch( aAttribute ) - { - case ECmName: - { - RFs fs; - CleanupClosePushL( fs ); - User::LeaveIfError( fs.Connect() ); - - // There may not be a UI context yet.... - TFileName resourceFile; - _LIT( KDriveZ, "z:" ); - resourceFile.Append( KDriveZ ); - resourceFile.Append( KDC_RESOURCE_FILES_DIR ); - _LIT( KCmmResFileName, "cmmanager.rsc" ); - resourceFile.Append( KCmmResFileName ); - BaflUtils::NearestLanguageFile( fs, resourceFile ); - - RResourceFile rf; - CleanupClosePushL( rf ); - rf.OpenL( fs, resourceFile ); - rf.ConfirmSignatureL( 0 ); - HBufC8* readBuffer = rf.AllocReadLC( R_QTN_NETW_CONSET_EMBEDDED_DEST ); - const TPtrC16 ptrReadBuffer( (TText16*) readBuffer->Ptr(), - ( readBuffer->Length() + 1 ) >> 1 ); - HBufC16* textBuffer=HBufC16::NewL( ptrReadBuffer.Length() ); - CleanupStack::PushL( textBuffer ); - *textBuffer=ptrReadBuffer; - - TPtr format = textBuffer->Des(); - _LIT(KPercentS,"%S"); - _LIT(KPercentU,"%U"); - TInt puPos = format.Find(KPercentU); - if ( puPos >= 0 ) - { - format.Replace( puPos, - static_cast(KPercentS).Length(), KPercentS ); - } - HBufC* desName = iDestination->NameLC(); - TPtr16 destName = desName->Des(); - retVal = HBufC::NewL( format.Length() + destName.Length() ); - retVal->Des().Format(format, &destName); - - CleanupStack::PopAndDestroy( desName ); - CleanupStack::PopAndDestroy( textBuffer ); - CleanupStack::PopAndDestroy( readBuffer ); - CleanupStack::PopAndDestroy(); //rf - CleanupStack::PopAndDestroy(); //fs - } - break; - - default: - { - User::Leave( KErrNotSupported ); - } - } - - return retVal; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::GetString8AttributeL -// --------------------------------------------------------------------------- -// -HBufC8* - CCmPluginEmbDestination::GetString8AttributeL( const TUint32 aAttribute ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::GetString8AttributeL" ); - - switch( aAttribute ) - { - default: - { - User::Leave( KErrNotSupported ); - } - break; - } - - // dead code - return NULL; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::SetBoolAttributeL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::SetBoolAttributeL( const TUint32 aAttribute, - TBool /*aValue*/ ) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::SetBoolAttributeL" ); - - switch( aAttribute ) - { - case ECmProtected: - case ECmHidden: - break; - - default: - { - User::Leave( KErrNotSupported ); - } - } - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::SetStringAttributeL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::SetStringAttributeL( const TUint32 aAttribute, - const TDesC16& ) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::SetStringAttributeL" ); - - switch( aAttribute ) - { - case ECmName: - { - User::Leave( KErrNotSupported ); - } - break; - - default: - { - User::Leave( KErrNotSupported ); - } - } - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CanHandleIapIdL() -// --------------------------------------------------------------------------- -// -TBool CCmPluginEmbDestination::CanHandleIapIdL( TUint32 /*aIapId*/ ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CanHandleIapIdL" ); - - // Embedded Destination cannot handle any IAP id. - return EFalse; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CanHandleIapIdL() -// --------------------------------------------------------------------------- -// -TBool - CCmPluginEmbDestination::CanHandleIapIdL( CCDIAPRecord* /*aIapRecord*/ ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CanHandleIapIdL" ); - - // Embedded Destination cannot handle any IAP id. - return EFalse; - } - -// --------------------------------------------------------------------------- -// ?description_if_needed -// --------------------------------------------------------------------------- -// -CCmDestinationImpl* CCmPluginEmbDestination::Destination() const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::Destination" ); - - return iDestination; - } - -// --------------------------------------------------------------------------- -// ?description_if_needed -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::UpdateL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::UpdateL" ); - - iDestination->UpdateL(); - } - -// --------------------------------------------------------------------------- -// Delete embedded destination. -// --------------------------------------------------------------------------- -// -TBool CCmPluginEmbDestination::DeleteL( TBool aForced, - TBool aOneRefAllowed ) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::DeleteL" ); - - (void)aForced; - (void)aOneRefAllowed; - - // Embedded destination cannot be deleted. - return EFalse; - } - -// --------------------------------------------------------------------------- -// ?description_if_needed -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::LoadL( TUint32 aCmId) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::LoadL" ); - - if (!iDestination) - { - iCmId = aCmId; - iDestination = iCmMgr.DestinationL( aCmId ); - } - } - -// --------------------------------------------------------------------------- -// ?description_if_needed -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::CreateNewL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CreateNewL" ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::RunSettingsL() -// --------------------------------------------------------------------------- -// -TInt CCmPluginEmbDestination::RunSettingsL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::RunSettingsL" ); - - return 0; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::InitializeWithUiL() -// --------------------------------------------------------------------------- -// -TBool CCmPluginEmbDestination::InitializeWithUiL( - TBool /*aManuallyConfigure*/ ) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::InitializeWithUiL" ); - - // Has no UI - return ETrue; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::IsMultipleReferencedL() -// --------------------------------------------------------------------------- -// -TBool CCmPluginEmbDestination::IsMultipleReferencedL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::IsMultipleReferencedL" ); - - return EFalse; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::LoadServiceSettingL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::LoadServiceSettingL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::LoadServiceSettingL" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::LoadBearerRecordL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::LoadBearerSettingL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::LoadBearerSettingL" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CreateNewServiceRecordL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::CreateNewServiceRecordL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CreateNewServiceRecordL" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CreateNewBearerRecordL() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::CreateNewBearerRecordL() - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CreateNewBearerRecordL" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::ServiceRecordIdLC() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::ServiceRecordIdLC( HBufC* &/*aBearerName*/, - TUint32& /*aRecordId*/) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::ServiceRecordIdLC" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::BearerRecordIdLC() -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::BearerRecordIdLC( HBufC* &/*aBearerName*/, - TUint32& /*aRecordId*/) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::BearerRecordIdLC" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CopyAdditionalDataL -// --------------------------------------------------------------------------- -// -void CCmPluginEmbDestination::CopyAdditionalDataL( CCmPluginBaseEng* /*aDestInst*/ ) const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CopyAdditionalDataL" ); - - User::Leave( KErrNotSupported ); - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::CreateCopyL -// --------------------------------------------------------------------------- -// -CCmPluginBaseEng* CCmPluginEmbDestination::CreateCopyL() const - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::CreateCopyL" ); - - User::Leave(KErrNotSupported); - return NULL; - } - -// --------------------------------------------------------------------------- -// CCmPluginEmbDestination::IsLinkedToSnap -// --------------------------------------------------------------------------- -// -TBool CCmPluginEmbDestination::IsLinkedToSnap( TUint32 aSnapId ) - { - LOGGER_ENTERFN( "CCmPluginEmbDestination::IsLinkedToSnap" ); - - return ( aSnapId == iDestination->Id() ); - }