--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cmmgr/cmmplugins/cmpluginembdestination/src/cmpluginembdestination.cpp Thu Jun 10 16:00:16 2010 +0300
@@ -0,0 +1,642 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of CCmPluginEmbDestination
+*
+*/
+
+#include <ecom/ecom.h> // For REComSession
+#include <datamobilitycommsdattypes.h>
+
+#include "cmpluginembdestination.h"
+#include "cmmserverdefs.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cmpluginembdestinationTraces.h"
+#endif
+
+using namespace CMManager;
+using namespace CommsDat;
+
+// ---------------------------------------------------------
+// CCmPluginEmbDestination::NewL()
+// ---------------------------------------------------------
+//
+CCmPluginEmbDestination* CCmPluginEmbDestination::NewL(
+ TCmPluginInitParam* aInitParam )
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_NEWL_ENTRY );
+
+ CCmPluginEmbDestination* self = new( ELeave ) CCmPluginEmbDestination( aInitParam );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_NEWL_EXIT );
+ return self;
+ }
+
+// ----------------------------------------------------------------------------
+// CCmPluginEmbDestination::CreateInstanceL
+// ----------------------------------------------------------------------------
+//
+CCmPluginBaseEng* CCmPluginEmbDestination::CreateInstanceL(
+ TCmPluginInitParam& aInitParam ) const
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_CREATEINSTANCEL_ENTRY );
+
+ CCmPluginEmbDestination* self = new( ELeave ) CCmPluginEmbDestination( &aInitParam );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_CREATEINSTANCEL_EXIT );
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CCmPluginEmbDestination::~CCmPluginEmbDestination()
+// ---------------------------------------------------------
+//
+CCmPluginEmbDestination::~CCmPluginEmbDestination()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::CCmPluginEmbDestination()
+// ---------------------------------------------------------------------------
+//
+CCmPluginEmbDestination::CCmPluginEmbDestination(
+ TCmPluginInitParam* aInitParam )
+ :
+ CCmPluginBaseEng( aInitParam )
+ {
+ iBearerType = KUidEmbeddedDestination;
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::ConstructL()
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::ConstructL()
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_CONSTRUCTL_ENTRY );
+
+ CCmPluginBaseEng::ConstructL();
+
+ TRAPD( err, iDestMetadataTableId = CCDSNAPMetadataRecord::TableIdL( iSession ) );
+ if ( err == KErrNotFound )
+ {
+ iDestMetadataTableId = CCDSNAPMetadataRecord::CreateTableL( iSession );
+ }
+ else
+ {
+ User::LeaveIfError( err );
+ }
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_CONSTRUCTL_EXIT );
+ }
+
+
+// ---------------------------------------------------------
+// CCmPluginEmbDestination::CanHandleIapIdL()
+// ---------------------------------------------------------
+//
+TBool CCmPluginEmbDestination::CanHandleIapIdL(
+ TUint32 /*aIapId*/ ) const
+ {
+ return EFalse;
+ }
+
+// ---------------------------------------------------------
+// CCmPluginEmbDestination::CanHandleIapIdL()
+// ---------------------------------------------------------
+//
+TBool CCmPluginEmbDestination::CanHandleIapIdL(
+ CCDIAPRecord* /*aIapRecord*/ ) const
+ {
+ return EFalse;
+ }
+
+// ----------------------------------------------------------------------------
+// CCmPluginEmbDestination::PreparePluginToUpdateRecordsL()
+// ----------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::PreparePluginToLoadRecordsL()
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// CCmPluginEmbDestination::PreparePluginToUpdateRecordsL()
+// ----------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::PreparePluginToUpdateRecordsL(
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::CreateServiceRecordL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::CreateServiceRecordL()
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::LoadServiceRecordL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::LoadServiceRecordL()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::PrepareToCopyDataL
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::PrepareToCopyDataL(
+ CCmPluginBaseEng* /*aCopyInstance*/ )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::CopyServiceRecordL
+// ---------------------------------------------------------------------------
+//
+CommsDat::CCDRecordBase* CCmPluginEmbDestination::CopyServiceRecordL()
+ {
+ return NULL;
+ }
+
+// ----------------------------------------------------------------------------
+// CCmPluginEmbDestination::UpdateServiceRecordL()
+// ----------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::UpdateServiceRecordL(
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::CreateBearerRecordsL
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::CreateBearerRecordsL()
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::LoadBearerRecordsL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::LoadBearerRecordsL()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::ServiceRecordIdLC
+// ---------------------------------------------------------------------------
+//
+TUint32 CCmPluginEmbDestination::ServiceRecordId() const
+ {
+ return 0;
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::ServiceRecordNameLC
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::ServiceRecordNameLC( HBufC*& /*aName*/ )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::BearerRecordIdL()
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::BearerRecordIdL( TUint32& /*aRecordId*/ )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::BearerRecordNameLC()
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::BearerRecordNameLC( HBufC*& /*aBearerName*/ )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerSpecificRecordsL
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::GetBearerSpecificRecordsL(
+ RPointerArray<CommsDat::CCDRecordBase>& /*aRecordArray*/ )
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::DeleteBearerRecordsL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::DeleteBearerRecordsL()
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// CCmPluginEmbDestination::UpdateBearerRecordsL()
+// ----------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::UpdateBearerRecordsL(
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------
+// CCmPluginEmbDestination::ResetBearerRecords()
+// ---------------------------------------------------------
+//
+void CCmPluginEmbDestination::ResetBearerRecords()
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerIntAttributeL
+// --------------------------------------------------------------------------
+//
+TUint32 CCmPluginEmbDestination::GetBearerIntAttributeL(
+ TUint32 aAttribute,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_GETBEARERINTATTRIBUTEL_ENTRY );
+
+ TUint32 retVal( 0 );
+ switch ( aAttribute )
+ {
+ case ECmBearerType:
+ {
+ retVal = iBearerType;
+ }
+ break;
+ case ECmId:
+ {
+ retVal = iCmId;
+ }
+ break;
+ case ECmExtensionLevel:
+ {
+ retVal = KExtensionBaseLevel;
+ }
+ break;
+ case ECmDefaultPriority:
+ case ECmDefaultUiPriority:
+ {
+ retVal = KDataMobilitySelectionPolicyPriorityWildCard;
+ }
+ break;
+ default:
+ {
+ User::Leave( KErrNotSupported );
+ }
+ break;
+ }
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_GETBEARERINTATTRIBUTEL_EXIT );
+ return retVal;
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerBoolAttributeL
+// --------------------------------------------------------------------------
+//
+TBool CCmPluginEmbDestination::GetBearerBoolAttributeL(
+ TUint32 aAttribute,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_GETBEARERBOOLATTRIBUTEL_ENTRY );
+
+ TBool retVal( 0 );
+ switch ( aAttribute )
+ {
+ case ECmCoverage:
+ {
+ retVal = EFalse;
+ }
+ break;
+ case ECmDestination:
+ {
+ retVal = ETrue;
+ }
+ break;
+ case ECmProtected:
+ {
+ TUint32 protlevel( CMManager::EProtLevel0 );
+ ProtectionLevelL( protlevel );
+ if ( protlevel == CMManager::EProtLevel1 || protlevel == CMManager::EProtLevel2 )
+ {
+ retVal = ETrue;
+ }
+ else
+ {
+ retVal = EFalse;
+ }
+ }
+ break;
+ case ECmHidden:
+ {
+ IsHiddenL( retVal );
+ }
+ break;
+ case ECmBearerHasUi:
+ {
+ retVal = EFalse;
+ }
+ break;
+ default:
+ {
+ User::Leave( KErrNotSupported );
+ }
+ break;
+ }
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_GETBEARERBOOLATTRIBUTEL_EXIT );
+ return retVal;
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::ProtectionLevelL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::ProtectionLevelL( TUint32& aProtLevel )
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_PROTECTIONLEVELL_ENTRY );
+
+ CCDSNAPMetadataRecord* metadataRecord; // Owned.
+ metadataRecord = new( ELeave ) CCDSNAPMetadataRecord( iDestMetadataTableId );
+ CleanupStack::PushL( metadataRecord );
+
+ metadataRecord->iSNAP = iCmId;
+ metadataRecord->LoadL( iSession );
+
+ aProtLevel = ( metadataRecord->iMetadata & KDestProtectionLevelMask )
+ >> KBitsToShiftDestProtectionLevel;
+
+ CleanupStack::PopAndDestroy( metadataRecord );
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_PROTECTIONLEVELL_EXIT );
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::IsHiddenL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::IsHiddenL( TBool& aHidden )
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_ISHIDDENL_ENTRY );
+
+ aHidden = EFalse;
+
+ CCDSNAPMetadataRecord* metadataRecord; // Owned.
+ metadataRecord = new( ELeave ) CCDSNAPMetadataRecord( iDestMetadataTableId );
+ CleanupStack::PushL( metadataRecord );
+
+ metadataRecord->iSNAP = iCmId;
+ metadataRecord->LoadL( iSession );
+
+ if( ( TUint32 )( metadataRecord->iMetadata ) & CMManager::ESnapMetadataHiddenAgent )
+ {
+ aHidden = ETrue;
+ }
+
+ CleanupStack::PopAndDestroy( metadataRecord );
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_ISHIDDENL_EXIT );
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerStringAttributeL
+// --------------------------------------------------------------------------
+//
+HBufC* CCmPluginEmbDestination::GetBearerStringAttributeL(
+ TUint32 /*aAttribute*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ HBufC* retVal = NULL;
+
+ return retVal;
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerString8AttributeL
+// --------------------------------------------------------------------------
+//
+HBufC8* CCmPluginEmbDestination::GetBearerString8AttributeL(
+ TUint32 /*aAttribute*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ HBufC8* retVal( NULL );
+
+ return retVal;
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::SetBearerIntAttributeL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::SetBearerIntAttributeL(
+ TUint32 /*aAttribute*/,
+ TUint32 /*aValue*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::SetBearerBoolAttributeL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::SetBearerBoolAttributeL(
+ TUint32 /*aAttribute*/,
+ TBool /*aValue*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::SetBearerStringAttributeL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::SetBearerStringAttributeL(
+ TUint32 /*aAttribute*/,
+ const TDesC16& /*aValue*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// --------------------------------------------------------------------------
+// CCmPluginEmbDestination::SetBearerString8AttributeL
+// --------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::SetBearerString8AttributeL(
+ TUint32 /*aAttribute*/,
+ const TDesC8& /*aValue*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+ RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerInfoIntL
+// ---------------------------------------------------------------------------
+//
+TUint32 CCmPluginEmbDestination::GetBearerInfoIntL(
+ TUint32 aAttribute ) const
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_GETBEARERINFOINTL_ENTRY );
+
+ TUint32 retVal( 0 );
+ switch ( aAttribute )
+ {
+ case ECmBearerType:
+ {
+ retVal = iBearerType;
+ }
+ break;
+ case ECmDefaultUiPriority:
+ case ECmDefaultPriority:
+ {
+ retVal = KDataMobilitySelectionPolicyPriorityWildCard;
+ }
+ break;
+ case ECmExtensionLevel:
+ {
+ retVal = KExtensionBaseLevel;
+ }
+ break;
+ default:
+ {
+ User::Leave( KErrNotSupported );
+ }
+ break;
+ }
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_GETBEARERINFOINTL_EXIT );
+ return retVal;
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerInfoBoolL
+// ---------------------------------------------------------------------------
+//
+TBool CCmPluginEmbDestination::GetBearerInfoBoolL( TUint32 aAttribute ) const
+ {
+ OstTraceFunctionEntry0( CCMPLUGINEMBDESTINATION_GETBEARERINFOBOOLL_ENTRY );
+
+ TBool retVal( EFalse );
+ switch ( aAttribute )
+ {
+ case ECmCoverage:
+ {
+ retVal = EFalse;
+ }
+ break;
+ case ECmDestination:
+ {
+ retVal = ETrue;
+ }
+ break;
+ case ECmBearerHasUi:
+ {
+ retVal = EFalse;
+ }
+ break;
+ case ECmVirtual:
+ {
+ retVal = EFalse;
+ }
+ break;
+ default:
+ {
+ User::Leave( KErrNotSupported );
+ }
+ break;
+ }
+
+ OstTraceFunctionExit0( CCMPLUGINEMBDESTINATION_GETBEARERINFOBOOLL_EXIT );
+ return retVal;
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerInfoStringL
+// ---------------------------------------------------------------------------
+//
+HBufC* CCmPluginEmbDestination::GetBearerInfoStringL(
+ TUint32 /*aAttribute*/ ) const
+ {
+ HBufC* retVal( NULL );
+
+ User::Leave( KErrNotSupported );
+
+ return retVal;
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerInfoString8L
+// ---------------------------------------------------------------------------
+//
+HBufC8* CCmPluginEmbDestination::GetBearerInfoString8L(
+ TUint32 /*aAttribute*/ ) const
+ {
+ HBufC8* retVal( NULL );
+
+ User::Leave( KErrNotSupported );
+
+ return retVal;
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::CopyBearerRecordsL
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::CopyBearerRecordsL(
+ CCmPluginBaseEng* /*aCopyInstance*/ )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCmPluginEmbDestination::GetBearerTableIdsToBeObserved
+// ---------------------------------------------------------------------------
+//
+void CCmPluginEmbDestination::GetBearerTableIdsToBeObservedL(
+ RArray<TUint32>& /*aTableIdArray*/ ) const
+ {
+ }
+
+// End of file