diff -r 50c53e893c3f -r 1221b68b8a5f commondrm/drmsettingsplugin/src/drmsettingsplugincontainer.cpp --- a/commondrm/drmsettingsplugin/src/drmsettingsplugincontainer.cpp Thu Aug 19 10:12:10 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,360 +0,0 @@ -/* -* Copyright (c) 2006-2007 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: Container for DRMSettinsPlugin -* -*/ - - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include - -#include "drmsettingsplugincontainer.h" -#include "drmsettingsplugin.hrh" -#include "drmsettingsmodel.h" - -const TUid KUidRightsManager = { 0x101F85C7 }; - -// ========================= MEMBER FUNCTIONS ================================ - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::ConstructL() -// -// Symbian OS two phased constructor -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::ConstructL( const TRect& aRect ) - { - iListBox = new( ELeave ) CAknSettingStyleListBox; - iModel = CDRMSettingsModel::NewL(); - - if( iOmadrm2Supported ) - { - BaseConstructL( aRect, R_DRM_SETTINGS_VIEW_TITLE, - R_DRM_SETTINGS_LBX ); - } - else - { - BaseConstructL( aRect, R_DRM_SETTINGS_VIEW_TITLE, - R_DRM_SETTINGS_LBX_NO_OMA2 ); - } - } - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::CDRMSettingsPluginContainer() -// -// Constructor -// --------------------------------------------------------------------------- -// -CDRMSettingsPluginContainer::CDRMSettingsPluginContainer( - TBool aWmdrmSupported, - TBool aOmadrm2Supported ) : iWmdrmSupported( aWmdrmSupported ), - iOmadrm2Supported( aOmadrm2Supported ) - { - } - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::~CDRMSettingsPluginContainer() -// -// Destructor -// --------------------------------------------------------------------------- -// -CDRMSettingsPluginContainer::~CDRMSettingsPluginContainer() - { - if ( iModel ) - { - delete iModel; - } - // delete listbox item array - if ( iListboxItemArray ) - { - delete iListboxItemArray; - } - } - - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::ConstructListBoxL() -// -// Construct the listbox from resource array. -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::ConstructListBoxL( TInt aResLbxId ) - { - iListBox->ConstructL( this, EAknListBoxSelectionList /* | - EAknListBoxItemSpecificMenuDisabled */ ); - iListboxItemArray = CGSListBoxItemTextArray::NewL( aResLbxId, - *iListBox, - *iCoeEnv ); - iListBox->Model()->SetItemTextArray( iListboxItemArray ); - iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); - CreateListBoxItemsL(); - } - - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::CreateListBoxItemsL() -// -// Create listbox items. -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::CreateListBoxItemsL() - { -#ifdef __DRM_OMA2 - if( iOmadrm2Supported ) - { - MakeTransactionTrackingItemL(); - -#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION - MakeAutomaticActivationItemL(); -#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION - -#ifdef RD_DRM_METERING - MakeUsageReportingItemL(); -#endif // RD_DRM_METERING - } -#endif // __DRM_OMA2 - - - MakeWMDRMLicenseDeletionItemL(); - } - - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::UpdateListBoxL() -// -// Update listbox item. -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::UpdateListBoxL( TInt aFeatureId ) - { - switch( aFeatureId ) - { -#ifdef __DRM_OMA2 - case EDRMSettingsIdTransactionTracking: - if( iOmadrm2Supported ) - { - MakeTransactionTrackingItemL(); - } - break; - -#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION - case EDRMSettingsIdAutomaticActivation: - if( iOmadrm2Supported ) - { - MakeAutomaticActivationItemL(); - } - break; -#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION - -#ifdef RD_DRM_METERING - case EDRMSettingsIdUsageReporting: - if( iOmadrm2Supported ) - { - MakeUsageReportingItemL(); - } - break; -#endif // RD_DRM_METERING -#endif // __DRM_OMA2 - - case EDRMSettingsIdWMDRMLicenseDeletion: - - MakeWMDRMLicenseDeletionItemL(); - - break; - - default: - break; - } - - iListBox->HandleItemAdditionL(); - } - - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::MakeTransactionTrackingItemL() -// -// Create Transaction tracking list item -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::MakeTransactionTrackingItemL() - { - HBufC* dynamicText( NULL ); - TInt trxTrState( iModel->TransactionTrackingStateL() ); - - switch ( trxTrState ) - { - case KDRMTransactionTrackingEnabled: - dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_TTRACKING_ON ); - break; - default: - dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_TTRACKING_OFF ); - break; - } - - TPtr ptrBuffer ( dynamicText->Des() ); - - - // Finally, set the dynamic text - iListboxItemArray->SetDynamicTextL( EDRMSettingsIdTransactionTracking, ptrBuffer ); - - CleanupStack::PopAndDestroy( dynamicText ); - - // And add to listbox - iListboxItemArray->SetItemVisibilityL( EDRMSettingsIdTransactionTracking, - CGSListBoxItemTextArray::EVisible ); - } - - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::MakeAutomaticActivationItemL() -// -// Create Automatic activation list item -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::MakeAutomaticActivationItemL() - { - TInt automActivState( iModel->AutomaticActivationStateL() ); - - HBufC* dynamicText( NULL ); - - switch ( automActivState ) - { - case KDRMTransactionTrackingEnabled: - dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_AUTOM_ACTIV_ON ); - break; - default: - dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_AUTOM_ACTIV_OFF ); - break; - } - - TPtr ptrBuffer ( dynamicText->Des() ); - - // Finally, set the dynamic text - iListboxItemArray->SetDynamicTextL( EDRMSettingsIdAutomaticActivation, - ptrBuffer ); - - CleanupStack::PopAndDestroy( dynamicText ); - - // And add to listbox - iListboxItemArray->SetItemVisibilityL( EDRMSettingsIdAutomaticActivation, - CGSListBoxItemTextArray::EVisible ); - } - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::MakeUsageReportingItemL() -// -// Create Usage reporting list item -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::MakeUsageReportingItemL() - { - TInt count( iModel->UsageReportingCount() ); - - HBufC* dynamicText( NULL ); - - switch ( count ) - { - case 0: - dynamicText = StringLoader::LoadL( R_DRM_SET_USAGE_REPORT_NONE ); - break; - case 1: - dynamicText = iModel->GetFirstAllowedMeteringRIAliasL(); - break; - default: - dynamicText = StringLoader::LoadL( R_DRM_SET_SEVERAL_SERVICES ); - break; - } - CleanupStack::PushL( dynamicText ); - - TPtr ptrBuffer ( dynamicText->Des() ); - - // Finally, set the dynamic text - iListboxItemArray->SetDynamicTextL( EDRMSettingsIdUsageReporting, - ptrBuffer ); - - CleanupStack::PopAndDestroy( dynamicText ); - - // And add to listbox - iListboxItemArray->SetItemVisibilityL( EDRMSettingsIdUsageReporting, - CGSListBoxItemTextArray::EVisible ); - } - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::MakeWMDRMLicenseDeletionItemL() -// -// Create WMDRM license deletion list item -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::MakeWMDRMLicenseDeletionItemL() - { - if ( iWmdrmSupported ) - { - // Add to listbox - iListboxItemArray-> - SetItemVisibilityL( EDRMSettingsIdWMDRMLicenseDeletion, - CGSListBoxItemTextArray::EVisible ); - } - else - { - // Add to listbox - iListboxItemArray-> - SetItemVisibilityL( EDRMSettingsIdWMDRMLicenseDeletion, - CGSListBoxItemTextArray::EInvisible ); - - } - } - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::GetHelpContext() const -// -// Gets Help -// --------------------------------------------------------------------------- -// -void CDRMSettingsPluginContainer::GetHelpContext( - TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidRightsManager; - aContext.iContext = KSET_HLP_PROTECTED_CONTENT; - } - - -// --------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::CurrentFeatureId() -// -// Return the feature id of selected listitem -// --------------------------------------------------------------------------- -// -TInt CDRMSettingsPluginContainer::CurrentFeatureId( ) const - { - return iListboxItemArray->CurrentFeature(); - } - - -// ----------------------------------------------------------------------------- -// CDRMSettingsPluginContainer::Model() -// -// -// ----------------------------------------------------------------------------- -// -CDRMSettingsModel* CDRMSettingsPluginContainer::Model() - { - return iModel; - } - -// End of File