diff -r 73a1feb507fb -r bc78a40cd63c mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp --- a/mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp Tue Aug 31 15:12:07 2010 +0300 +++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp Wed Sep 01 12:31:01 2010 +0100 @@ -12,18 +12,19 @@ * Contributors: * * Description: Document model class for MUSSettingsPlugin. +* Version : %version: 18 % << Don't touch! Updated by Synergy at check-out. * */ - -#include "mmussipprofilehandler.h" #include "mussettingsmodel.h" +#include "muslogger.h" #include "mussipprofilemodel.h" -#include "muslogger.h" +#include "mussettings.h" +#include "mmussipprofilehandler.h" + +#include #include -#include - #include #include #include // GUI Resource @@ -39,6 +40,10 @@ // ======== MEMBER FUNCTIONS ======== +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// CMusSettingsModel* CMusSettingsModel::NewL( MMusSIPProfileHandler& aHandler ) { MUS_LOG( "[MUSSET] -> CMusSettingsModel::NewL()" ) @@ -52,6 +57,10 @@ } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// CMusSettingsModel::CMusSettingsModel( MMusSIPProfileHandler& aHandler ) : iHandler( aHandler ) { @@ -59,224 +68,82 @@ } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// void CMusSettingsModel::ConstructL() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::ConstructL()" ) - iMSSettingsKeys = new (ELeave) MultimediaSharingSettings; + InitializeProfileEnablerL(); + static_cast (&iHandler)->SetCMusSettingsModel(this); MUS_LOG( "[MUSSET] <- CMusSettingsModel::ConstructL()" ) } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// CMusSettingsModel::~CMusSettingsModel() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::~CMusSettingsModel()" ) - delete iMSSettingsKeys; - iMSSettingsKeys = NULL; MUS_LOG( "[MUSSET] <- CMusSettingsModel::~CMusSettingsModel()" ) } - -// ---------------------------------------------------------------------------- -// Returns operator variant mode (normal or operator specific. This is used for -// runtime variation of Settings UI. -// ---------------------------------------------------------------------------- -// -MusSettingsKeys::TOperatorVariant CMusSettingsModel::VSSettingsOperatorVariantL() - { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsOperatorVariantL()" ) - - MusSettingsKeys::TOperatorVariant operatorVariant = - iMSSettingsKeys->OperatorVariantSettingL(); - - MUS_LOG1( - "[MUSSET] <- CMusSettingsContainer::VSSettingsOperatorVariantL()( %d )", - operatorVariant ) - return operatorVariant; - } - - -// ---------------------------------------------------------------------------- -// Returns VS activation mode. -// ---------------------------------------------------------------------------- -// -MusSettingsKeys::TActivation CMusSettingsModel::VSSettingsActivationL() - { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsActivationL()" ) - MusSettingsKeys::TActivation activationMode = - iMSSettingsKeys->ActivationSettingL(); - MUS_LOG1( - "[MUSSET] <- CMusSettingsContainer::VSSettingsActivationL()( %d )", - activationMode ) - return activationMode; - } - - -// ---------------------------------------------------------------------------- -// Returns SIP profile mode. -// ---------------------------------------------------------------------------- -// -TInt CMusSettingsModel::VSSettingsProfileL() - { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsProfileL()" ) - TInt vsProfileMode = iMSSettingsKeys->SipProfileSettingL(); - MUS_LOG1( - "[MUSSET] <- CMusSettingsContainer::VSSettingsProfileL()( %d )", - vsProfileMode ) - return vsProfileMode; - } - - -// ---------------------------------------------------------------------------- -// Returns video autorecord mode. -// ---------------------------------------------------------------------------- -// -MusSettingsKeys::TAutoRecord CMusSettingsModel::VSSettingsAutoRecordL() - { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsAutoRecordL()" ) - MusSettingsKeys::TAutoRecord vsAutoRecordMode = - iMSSettingsKeys->AutoRecordSettingL(); - MUS_LOG1( - "[MUSSET] <- CMusSettingsContainer::VSSettingsAutoRecordL()( %d )", - vsAutoRecordMode ) - return vsAutoRecordMode; - } - - -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // Returns recorded video saving mode. -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // TInt CMusSettingsModel::VSSettingsRecordedVideoSavingL() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsRecordedVideoSavingL()" ) - TInt vsVideoLocationMode = iMSSettingsKeys->VideoLocationSettingL(); + TInt vsVideoLocationMode = MultimediaSharingSettings::VideoLocationSettingL(); MUS_LOG1( - "[MUSSET] <- CMusSettingsContainer::VSSettingsRecordedVideoSavingL()( %d )", + "[MUSSET] <- CMusSettingsModel::VSSettingsRecordedVideoSavingL()( %d )", vsVideoLocationMode ) return vsVideoLocationMode; } - // ---------------------------------------------------------------------------- -// Returns mode of audible note. -// ---------------------------------------------------------------------------- -// -MusSettingsKeys::TAuditoryNotification CMusSettingsModel::VSSettingsNoteL() - { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsNoteL()" ) - MusSettingsKeys::TAuditoryNotification vsNoteMode = - iMSSettingsKeys->AuditoryNotificationSettingL(); - MUS_LOG1( - "[MUSSET] <- CMusSettingsContainer::VSSettingsNoteL()( %d )", - vsNoteMode ) - return vsNoteMode; - } - - -// ---------------------------------------------------------------------------- -// Sets VS activation mode. -// ---------------------------------------------------------------------------- -// -void CMusSettingsModel::SetVSSettingsActivationL( - const MusSettingsKeys::TActivation aActivation) - { - MUS_LOG1( - "[MUSSET] -> CMusSettingsContainer::SetVSSettingsActivationL()( %d )", - aActivation ) - iMSSettingsKeys->SetActivationSettingL( aActivation ); - MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsActivationL()" ) - } - - -// ---------------------------------------------------------------------------- -// Sets SIP Profile mode. -// ---------------------------------------------------------------------------- -// -void CMusSettingsModel::SetVSSettingsProfileL( const TInt aProfile ) - { - MUS_LOG1( - "[MUSSET] -> CMusSettingsContainer::SetVSSettingsProfileL()( %d )", - aProfile ) - iMSSettingsKeys->SetSipProfileSettingL( aProfile ); - MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsProfileL()" ) - } - - -// ---------------------------------------------------------------------------- -// Sets video autorecord mode. +// Change Activation. // ---------------------------------------------------------------------------- // -void CMusSettingsModel::SetVSSettingsAutoRecordL( - const MusSettingsKeys::TAutoRecord aAutoRecord ) +void CMusSettingsModel::SetActivationItem( TBool aActive ) { - MUS_LOG1( - "[MUSSET] -> CMusSettingsContainer::SetVSSettingsAutoRecordL()( %d )", - aAutoRecord ) - iMSSettingsKeys->SetAutoRecordSettingL( aAutoRecord ); - MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsAutoRecordL()" ) - } - - -// ---------------------------------------------------------------------------- -// Sets video location. -// ---------------------------------------------------------------------------- -// -void CMusSettingsModel::SetVSSettingsRecordedVideoSavingL( - const TInt aVideoLocation ) - { - MUS_LOG1( - "[MUSSET] -> CMusSettingsContainer::SetVSSettingsRecordedVideoSavingL()( %d )", - aVideoLocation ) - iMSSettingsKeys->SetVideoLocationSettingL( aVideoLocation ); - MUS_LOG( - "[MUSSET] <- CMusSettingsModel::SetVSSettingsRecordedVideoSavingL()" ) + MUS_LOG( "[MUSSET] -> CMusSettingsModel::SetActivationItem()" ) + MUS_LOG1( " Profile disabled? ( %d )", aActive ) + iProfileDisabled = aActive; + MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetActivationItem()" ) } - // ---------------------------------------------------------------------------- -// Sets mode of auditory note. In operator specific variants auditory note also -// sets mode of popup notification setting. +// Get Activation item. // ---------------------------------------------------------------------------- // -void CMusSettingsModel::SetVSSettingsNoteL( - const MusSettingsKeys::TAuditoryNotification aValue ) +TBool CMusSettingsModel::ActivationItem() { - MUS_LOG1( - "[MUSSET] -> CMusSettingsContainer::SetVSSettingsNoteL()( %d )", aValue ) - iMSSettingsKeys->SetAuditoryNotificationSettingL( aValue ); - - if ( VSSettingsOperatorVariantL() == MusSettingsKeys::EOperatorSpecific ) - { - if ( MusSettingsKeys::EAuditoryNotificationOn == aValue ) - { - iMSSettingsKeys->SetPopupNotificationSettingL( - MusSettingsKeys::EPopupNotificationOn ); - } - else - { - iMSSettingsKeys->SetPopupNotificationSettingL( - MusSettingsKeys::EPopupNotificationOff ); - } - } + MUS_LOG( "[MUSSET] -> CMusSettingsModel::ActivationItem()" ) + MUS_LOG( "[MUSSET] <- CMusSettingsModel::ActivationItem()" ) + return iProfileDisabled; } - // ----------------------------------------------------------------------------- // Returns the list of profile names // ----------------------------------------------------------------------------- CDesCArray* CMusSettingsModel::ListOfProfileNamesL() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::ListOfProfileNamesL()" ) - CArrayPtr* list = iHandler.ProfileArrayL(); + RPointerArray& list = iHandler.ProfileArrayL(); CDesCArray* array = new ( ELeave ) CDesCArrayFlat( KSIPGranularity ); CleanupStack::PushL( array ); - for ( TInt i = 0; i < list->Count(); i++ ) + for ( TInt i = 0; i < list.Count(); i++ ) { const TDesC8* providerName = 0; User::LeaveIfError( - list->At(i)->GetParameter( KSIPProviderName, providerName ) ); + list[i]->GetParameter( KSIPProviderName, providerName ) ); HBufC8* decodedProvider = EscapeUtils::EscapeDecodeL( *providerName ); @@ -304,7 +171,7 @@ HBufC* CMusSettingsModel::ProfileNameL( TInt aId ) { MUS_LOG1( - "[MUSSET] -> CMusSettingsContainer::ProfileNameL()( %d )", + "[MUSSET] -> CMusSettingsModel::ProfileNameL()( %d )", aId ) const TDesC8* providerName = 0; TInt index = ProfileIndexByIdL( aId ); @@ -312,7 +179,7 @@ if ( index >= 0 ) { - if ( KErrNone == iHandler.ProfileArrayL()->At( index )-> + if ( KErrNone == iHandler.ProfileArrayL()[index]-> GetParameter( KSIPProviderName, providerName ) ) { HBufC8* decodedProvider = @@ -335,9 +202,9 @@ } -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // Returns default SIP profile index. -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- TInt CMusSettingsModel::DefaultProfileIndex() { MUS_LOG( "[MUSSET] <- CMusSettingsModel::DefaultProfileIndex()" ) @@ -345,9 +212,9 @@ } -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // Returns id of default SIP profile. -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- TUint32 CMusSettingsModel::DefaultProfileId() { MUS_LOG( "[MUSSET] <- CMusSettingsModel::DefaultProfileId()" ) @@ -355,9 +222,9 @@ } -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // Returns SIP profile index based on the Id of SIP profile. -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- TInt CMusSettingsModel::ProfileIndexByIdL( TUint32 aId ) { MUS_LOG( "[MUSSET] <- CMusSettingsModel::ProfileIndexByIdL()" ) @@ -365,19 +232,41 @@ } -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // Returns SIP profile Id based on the index of SIP profile. -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- TUint32 CMusSettingsModel::ProfileIdByIndex( TUint aIndex ) { MUS_LOG( "[MUSSET] <- CMusSettingsModel::ProfileIdByIndex()" ) return iHandler.ProfileIdByIndex( aIndex ); } +// ----------------------------------------------------------------------------- +// Initialize SIP profile enabler data. +// ----------------------------------------------------------------------------- +void CMusSettingsModel::InitializeProfileEnablerL() + { + MUS_LOG( "[MUSSET] -> CMusSettingsModel::InitializeProfileEnabler()" ) + if ( MultimediaSharingSettings::OperatorVariantSettingL() == + MusSettingsKeys::EOperatorSpecific ) + { + TBool enabled(EFalse); + + CMusSIPProfileModel& handler = + static_cast( iHandler ); + TRAPD( error, enabled = handler.ProfileEnabledL()); + enabled = error != KErrNone ? EFalse : enabled; + MUS_LOG2("SIP registration service( %d ), error( %d )", enabled, error ) + //profile enabled - activation disabled = false + //profile disabled - activation disabled = true + SetActivationItem( !enabled ); + } + MUS_LOG( "[MUSSET] <- CMusSettingsModel::InitializeProfileEnabler()" ) + } -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- // Returns memory selction dialog pointer. -// ---------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- CAknMemorySelectionDialogMultiDrive* CMusSettingsModel::MemorySelectionDialogLC() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::MemorySelectionDialogLC()" )