diff -r 05bc53fe583b -r 83ca720e2b9a cmmanager/cmmgr/Framework/Src/cmpluginbase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmmanager/cmmgr/Framework/Src/cmpluginbase.cpp Wed Sep 01 12:23:51 2010 +0100 @@ -0,0 +1,823 @@ +/* +* 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 plugin base class +* +*/ + +#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif +#include +#include // RSocketServ, RConnection +#include // KAfInet +#include // TConnectionInfo +#include +#include +#include +#include +#include + +#include +#include "cmmanagerimpl.h" +#include "cmdestinationimpl.h" +#include +#include +#include "cmlogger.h" +#include + +using namespace CMManager; +using namespace CommsDat; + + +// --------------------------------------------------------------------------- +// CCmPluginBase::CCmPluginBase +// --------------------------------------------------------------------------- +// +EXPORT_C CCmPluginBase::CCmPluginBase( CCmPluginBaseEng* plugin ) + : iPlugin( plugin ) + { + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::~CCmPluginBase +// --------------------------------------------------------------------------- +// +EXPORT_C CCmPluginBase::~CCmPluginBase() + { + if (iPlugin) + { + TRAP_IGNORE( CmMgr().RemoveCMFromPoolL(this) ); + } + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::ConstructL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::ConstructL() + { + iPlugin->ConstructL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::ConstructL +// --------------------------------------------------------------------------- +// + CCmPluginBase* CCmPluginBase::CreateInstanceL( TCmPluginInitParam& aInitParam ) + { + CCmPluginBaseEng* plugin = iPlugin->CreateInstanceL(aInitParam); + CleanupStack::PushL( plugin ); + CCmPluginBase* connMethod = new (ELeave) CCmPluginBase(plugin); + CleanupStack::Pop( plugin ); // plugin + return connMethod; + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::RunSettingsL +// --------------------------------------------------------------------------- +// +TInt CCmPluginBase::RunSettingsL() + { + return iPlugin->RunSettingsL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::InitializeWithUiL +// --------------------------------------------------------------------------- +// +TInt CCmPluginBase::InitializeWithUiL(TBool aManuallyConfigure) + { + return iPlugin->InitializeWithUiL(aManuallyConfigure); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CanHandleIapIdL +// --------------------------------------------------------------------------- +// +TBool CCmPluginBase::CanHandleIapIdL(TUint32 aIapId) const + { + return iPlugin->CanHandleIapIdL(aIapId); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CanHandleIapIdL +// --------------------------------------------------------------------------- +// +TBool CCmPluginBase::CanHandleIapIdL(CommsDat::CCDIAPRecord* aIapRecord) const + { + return iPlugin->CanHandleIapIdL(aIapRecord); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::AdditionalReset +// --------------------------------------------------------------------------- +// +void CCmPluginBase::AdditionalReset() + { + iPlugin->AdditionalReset(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::ServiceRecordIdLC +// --------------------------------------------------------------------------- +// +void CCmPluginBase::ServiceRecordIdLC(HBufC* &aServiceName, + TUint32& aRecordId) + { + iPlugin->ServiceRecordIdLC(aServiceName, aRecordId); + } + + +// --------------------------------------------------------------------------- +// CCmPluginBase::BearerRecordIdLC +// --------------------------------------------------------------------------- +// +void CCmPluginBase::BearerRecordIdLC(HBufC* &aBearerName, + TUint32& aRecordId) + { + iPlugin->BearerRecordIdLC(aBearerName, aRecordId); + } + + +// --------------------------------------------------------------------------- +// CCmPluginBase::PrepareToDeleteRecordsL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::PrepareToDeleteRecordsL() + { + iPlugin->PrepareToDeleteRecordsL(); + } + + +// --------------------------------------------------------------------------- +// CCmPluginBase::DeleteAdditionalRecordsL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::DeleteAdditionalRecordsL() + { + iPlugin->DeleteAdditionalRecordsL(); + } + + +// --------------------------------------------------------------------------- +// CCmPluginBase::CreateNewServiceRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::CreateNewServiceRecordL() + { + iPlugin->CreateNewServiceRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase:: +// --------------------------------------------------------------------------- +// +void CCmPluginBase::CreateAdditionalRecordsL() + { + iPlugin->CreateAdditionalRecordsL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::PrepareToCopyDataL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::PrepareToCopyDataL(CCmPluginBaseEng& aDestInst) const + { + iPlugin->PrepareToCopyDataL(aDestInst); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CopyAdditionalDataL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::CopyAdditionalDataL(CCmPluginBaseEng& aDestInst) const + { + iPlugin->CopyAdditionalDataL(aDestInst); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadAdditionalRecordsL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadAdditionalRecordsL() + { + iPlugin->LoadAdditionalRecordsL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateAdditionalRecordsL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateAdditionalRecordsL() + { + iPlugin->UpdateAdditionalRecordsL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::IsLinkedToIap +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CCmPluginBase::IsLinkedToIap( TUint32 aIapId ) + { + return iPlugin->IsLinkedToIap( aIapId ); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::IsLinkedToIap +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CCmPluginBase::IsLinkedToSnap( TUint32 aSnapId ) + { + return iPlugin->IsLinkedToSnap( aSnapId ); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::GetIntAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C TUint32 + CCmPluginBase::GetIntAttributeL( const TUint32 aAttribute ) const + { + return iPlugin->GetIntAttributeL(aAttribute); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::GetBoolAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C TBool + CCmPluginBase::GetBoolAttributeL( const TUint32 aAttribute ) const + { + return iPlugin->GetBoolAttributeL(aAttribute); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::GetStringAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C HBufC* + CCmPluginBase::GetStringAttributeL( const TUint32 aAttribute ) const + { + return iPlugin->GetStringAttributeL(aAttribute); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::GetString8AttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C HBufC8* + CCmPluginBase::GetString8AttributeL( const TUint32 aAttribute ) const + { + return iPlugin->GetString8AttributeL(aAttribute); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::SetIntAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::SetIntAttributeL( const TUint32 aAttribute, + TUint32 aValue ) + { + iPlugin->SetIntAttributeL(aAttribute, aValue); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::SetBoolAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::SetBoolAttributeL( const TUint32 aAttribute, + TBool aValue ) + { + iPlugin->SetBoolAttributeL(aAttribute, aValue); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::SetStringAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::SetStringAttributeL( const TUint32 aAttribute, + const TDesC16& aValue ) + { + iPlugin->SetStringAttributeL(aAttribute, aValue); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::SetString8AttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::SetString8AttributeL( const TUint32 aAttribute, + const TDesC8& aValue ) + { + iPlugin->SetString8AttributeL(aAttribute, aValue); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::RestoreAttributeL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::RestoreAttributeL( const TUint32 aAttribute ) + { + iPlugin->RestoreAttributeL(aAttribute); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::Destination +// --------------------------------------------------------------------------- +// +EXPORT_C CCmDestinationImpl* CCmPluginBase::Destination() const + { + return iPlugin->Destination(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::UpdateL() + { + iPlugin->UpdateL(); + iPlugin->SetIdValidity(ETrue); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::NumOfConnMethodReferencesL +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CCmPluginBase::NumOfConnMethodReferencesL() + { + return iPlugin->NumOfConnMethodReferencesL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::Session +// --------------------------------------------------------------------------- +// +EXPORT_C CMDBSession& CCmPluginBase::Session()const + { + return iPlugin->Session(); + } + +// --------------------------------------------------------------------------- +// Delete this connection methond. +// Record ids are checked to be sure that we delete only records +// that were loaded before. +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CCmPluginBase::DeleteL( TBool aForced, + TBool aOneRefAllowed ) + { + return iPlugin->DeleteL(aForced, aOneRefAllowed); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::LoadL( TUint32 aIapId ) + { + iPlugin->LoadL(aIapId); + CmMgr().ConnMethodUpdatedL( this->Plugin() ); + iPlugin->SetIdValidity(ETrue); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::ReLoadL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::ReLoadL() + { + TUint32 cmID = iPlugin->GetIntAttributeL( ECmId ); + TUint32 refCounter = iPlugin->iRefCounter; + + iPlugin->iRefCounter = 1; + CCmManagerImpl* mgr = &CmMgr(); + mgr->RemoveCMFromPoolL(iPlugin); + iPlugin = NULL; + CCmPluginBase* cm = mgr->GetConnectionMethodL( cmID ); + iPlugin = cm->iPlugin; + cm->iPlugin = NULL; + delete cm; + iPlugin->SetIdValidity(ETrue); + iPlugin->iRefCounter = refCounter; + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CreateNewL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::CreateNewL() + { + iPlugin->CreateNewL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CreateCopyL +// --------------------------------------------------------------------------- +// +EXPORT_C CCmPluginBase* CCmPluginBase::CreateCopyL() const + { + CCmPluginBaseEng* plugin = iPlugin->CreateCopyL(); + CleanupStack::PushL( plugin ); + CCmPluginBase* connMethod = CmMgr().CreateConnectionMethodL(plugin); + CleanupStack::Pop( plugin ); + return connMethod; + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::AddResourceFileL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::AddResourceFileL( const TDesC& aName ) + { + iPlugin->AddResourceFileL(aName); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::RemoveResourceFile +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::RemoveResourceFile( const TDesC& aName ) + { + iPlugin->RemoveResourceFile(aName); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::AllocReadL +// --------------------------------------------------------------------------- +// +EXPORT_C HBufC* CCmPluginBase::AllocReadL( TInt aResourceId ) const + { + return iPlugin->AllocReadL( aResourceId ); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::OpenTransactionLC +// --------------------------------------------------------------------------- +// +void CCmPluginBase::OpenTransactionLC() + { + iPlugin->OpenTransactionLC(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CommitTransactionL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::CommitTransactionL( TInt aError ) + { + iPlugin->CommitTransactionL(aError); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::PrepareToLoadRecordsL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::DoLoadL( TUint32 aIapId ) + { + iPlugin->CommitTransactionL(aIapId); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::PrepareToLoadRecordsL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::PrepareToLoadRecordsL() + { + iPlugin->PrepareToLoadRecordsL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadIAPRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadIAPRecordL( TUint32 aIapId ) + { + iPlugin->LoadIAPRecordL(aIapId); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadProxySettingL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadProxySettingL() + { + iPlugin->LoadProxySettingL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadServiceSettingL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::LoadServiceSettingL() + { + iPlugin->LoadServiceSettingL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadChargeCardSettingL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadChargeCardSettingL( TUint32 aRecordId ) + { + iPlugin->LoadChargeCardSettingL(aRecordId); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadNetworkSettingL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadNetworkSettingL() + { + iPlugin->LoadNetworkSettingL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadLocationSettingL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadLocationSettingL() + { + iPlugin->LoadLocationSettingL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::PrepareToUpdateRecordsL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::PrepareToUpdateRecordsL() + { + iPlugin->PrepareToUpdateRecordsL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateIAPRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateIAPRecordL() + { + iPlugin->UpdateIAPRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateProxyRecordL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::UpdateProxyRecordL() + { + iPlugin->UpdateProxyRecordL(); + } + + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateSeamlessnessRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateSeamlessnessRecordL() + { + iPlugin->UpdateSeamlessnessRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateChargeCardRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateChargeCardRecordL() + { + iPlugin->UpdateChargeCardRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateServiceRecordL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::UpdateServiceRecordL() + { + iPlugin->UpdateServiceRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateNetworkRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateNetworkRecordL() + { + iPlugin->UpdateNetworkRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateLocationRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateLocationRecordL() + { + iPlugin->UpdateLocationRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateConnPrefSettingL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateConnPrefSettingL() + { + iPlugin->UpdateConnPrefSettingL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::EnableProxyL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::EnableProxyL( TBool aEnable ) + { + iPlugin->EnableProxyL(aEnable); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::EnableChargeCardL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::EnableChargeCardL( TBool aEnable ) + { + iPlugin->EnableChargeCardL(aEnable); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::EnableLocationL +// --------------------------------------------------------------------------- +// +EXPORT_C void CCmPluginBase::EnableLocationL( TBool aEnable ) + { + iPlugin->EnableLocationL(aEnable); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadWapRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadWapRecordL() + { + iPlugin->LoadWapRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::LoadSeamlessnessRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::LoadSeamlessnessRecordL() + { + iPlugin->LoadSeamlessnessRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::UpdateWapRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::UpdateWapRecordL() + { + iPlugin->UpdateWapRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::NewWapRecordL +// --------------------------------------------------------------------------- +// +void CCmPluginBase::NewWapRecordL() + { + iPlugin->NewWapRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::NewSeamlessnessRecordL +// --------------------------------------------------------------------------- +// +CCDIAPMetadataRecord* CCmPluginBase::NewSeamlessnessRecordL( TBool aSetDef ) + { + return iPlugin->NewSeamlessnessRecordL(aSetDef); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::SetAttribute +// --------------------------------------------------------------------------- +// +void CCmPluginBase::SetAttribute( CCDRecordBase* aRecord, + TUint32 aAttribute, + TBool aSet ) + { + iPlugin->SetAttribute(aRecord, aAttribute, aSet); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CopyAttributes +// --------------------------------------------------------------------------- +// +void CCmPluginBase::CopyAttributes( CCDRecordBase* aSrcRecord, + CCDRecordBase* aDstRecord ) + { + iPlugin->CopyAttributes(aSrcRecord, aDstRecord); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::FindWAPRecordL +// --------------------------------------------------------------------------- +// +CCDWAPIPBearerRecord* CCmPluginBase::FindWAPRecordL() + { + return iPlugin->FindWAPRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::FindSeamlessnessRecordL +// --------------------------------------------------------------------------- +// +CCDIAPMetadataRecord* CCmPluginBase::FindSeamlessnessRecordL() + { + return iPlugin->FindSeamlessnessRecordL(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::IAPRecordElementId +// --------------------------------------------------------------------------- +TMDBElementId CCmPluginBase::IAPRecordElementId() const + { + return iPlugin->IAPRecordElementId(); + } +// --------------------------------------------------------------------------- +// CCmPluginBase::ParentDestination +// --------------------------------------------------------------------------- +EXPORT_C CCmDestinationImpl* CCmPluginBase::ParentDestination() const + { + return iPlugin->ParentDestination(); + } + +// --------------------------------------------------------------------------- +// CCmPluginBase::CmMgr +// --------------------------------------------------------------------------- +EXPORT_C CCmManagerImpl& CCmPluginBase::CmMgr() const + { + return iPlugin->CmMgr(); + }; + + +// --------------------------------------------------------------------------- +// CCmPluginBase::Plugin +// --------------------------------------------------------------------------- +void CCmPluginBase::SetPlugin(CCmPluginBaseEng* aPlugin) + { + iPlugin = aPlugin; + }; + +// --------------------------------------------------------------------------- +// CCmPluginBase::Plugin +// --------------------------------------------------------------------------- +EXPORT_C CCmPluginBaseEng* CCmPluginBase::Plugin() const + { + return iPlugin; + }; + +// ----------------------------------------------------------------------------- +// CCmPluginBase::IncrementRefCounter +// ----------------------------------------------------------------------------- +void CCmPluginBase::IncrementRefCounter() + { + iPlugin->IncrementRefCounter(); + } +// ----------------------------------------------------------------------------- +// CCmPluginBase::DecrementRefCounter +// ----------------------------------------------------------------------------- +void CCmPluginBase::DecrementRefCounter() + { + iPlugin->DecrementRefCounter(); + } +// ----------------------------------------------------------------------------- +// CCmPluginBase::GetRefCounter +// ----------------------------------------------------------------------------- +TInt CCmPluginBase::GetRefCounter() + { + return iPlugin->GetRefCounter(); + } + +// ----------------------------------------------------------------------------- +// CCmPluginBase::GetAdditionalUids +// ----------------------------------------------------------------------------- +EXPORT_C void CCmPluginBase::GetAdditionalUids( RArray& aIapIds ) + { + iPlugin->GetAdditionalUids( aIapIds ); + } + +//----------------------------------------------------------------------------- +// CCmPluginBase::FilterPossibleParentsL +// ----------------------------------------------------------------------------- +void CCmPluginBase::FilterPossibleParentsL( RArray& aDests ) + { + iPlugin->FilterPossibleParentsL( aDests ); + }