--- a/mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp Thu Aug 19 09:51:39 2010 +0300
+++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp Tue Aug 31 15:12:07 2010 +0300
@@ -12,19 +12,18 @@
* 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 "mussettings.h"
-#include "mmussipprofilehandler.h"
+#include "muslogger.h"
+#include <centralrepository.h>
+#include <escapeutils.h>
-#include <escapeutils.h>
-#include <centralrepository.h>
#include <CAknMemorySelectionDialogMultiDrive.h>
#include <AknCommonDialogsDynMem.h>
#include <mussettingsuirsc.rsg> // GUI Resource
@@ -40,10 +39,6 @@
// ======== MEMBER FUNCTIONS ========
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
CMusSettingsModel* CMusSettingsModel::NewL( MMusSIPProfileHandler& aHandler )
{
MUS_LOG( "[MUSSET] -> CMusSettingsModel::NewL()" )
@@ -57,10 +52,6 @@
}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
CMusSettingsModel::CMusSettingsModel( MMusSIPProfileHandler& aHandler )
: iHandler( aHandler )
{
@@ -68,82 +59,224 @@
}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
void CMusSettingsModel::ConstructL()
{
MUS_LOG( "[MUSSET] -> CMusSettingsModel::ConstructL()" )
- InitializeProfileEnablerL();
- static_cast<CMusSIPProfileModel*> (&iHandler)->SetCMusSettingsModel(this);
+ iMSSettingsKeys = new (ELeave) MultimediaSharingSettings;
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 = MultimediaSharingSettings::VideoLocationSettingL();
+ TInt vsVideoLocationMode = iMSSettingsKeys->VideoLocationSettingL();
MUS_LOG1(
- "[MUSSET] <- CMusSettingsModel::VSSettingsRecordedVideoSavingL()( %d )",
+ "[MUSSET] <- CMusSettingsContainer::VSSettingsRecordedVideoSavingL()( %d )",
vsVideoLocationMode )
return vsVideoLocationMode;
}
+
// ----------------------------------------------------------------------------
-// Change Activation.
+// 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.
// ----------------------------------------------------------------------------
//
-void CMusSettingsModel::SetActivationItem( TBool aActive )
+void CMusSettingsModel::SetVSSettingsAutoRecordL(
+ const MusSettingsKeys::TAutoRecord aAutoRecord )
{
- MUS_LOG( "[MUSSET] -> CMusSettingsModel::SetActivationItem()" )
- MUS_LOG1( " Profile disabled? ( %d )", aActive )
- iProfileDisabled = aActive;
- MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetActivationItem()" )
+ MUS_LOG1(
+ "[MUSSET] -> CMusSettingsContainer::SetVSSettingsAutoRecordL()( %d )",
+ aAutoRecord )
+ iMSSettingsKeys->SetAutoRecordSettingL( aAutoRecord );
+ MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsAutoRecordL()" )
}
+
// ----------------------------------------------------------------------------
-// Get Activation item.
+// Sets video location.
+// ----------------------------------------------------------------------------
+//
+void CMusSettingsModel::SetVSSettingsRecordedVideoSavingL(
+ const TInt aVideoLocation )
+ {
+ MUS_LOG1(
+ "[MUSSET] -> CMusSettingsContainer::SetVSSettingsRecordedVideoSavingL()( %d )",
+ aVideoLocation )
+ iMSSettingsKeys->SetVideoLocationSettingL( aVideoLocation );
+ MUS_LOG(
+ "[MUSSET] <- CMusSettingsModel::SetVSSettingsRecordedVideoSavingL()" )
+ }
+
+
+// ----------------------------------------------------------------------------
+// Sets mode of auditory note. In operator specific variants auditory note also
+// sets mode of popup notification setting.
// ----------------------------------------------------------------------------
//
-TBool CMusSettingsModel::ActivationItem()
+void CMusSettingsModel::SetVSSettingsNoteL(
+ const MusSettingsKeys::TAuditoryNotification aValue )
{
- MUS_LOG( "[MUSSET] -> CMusSettingsModel::ActivationItem()" )
- MUS_LOG( "[MUSSET] <- CMusSettingsModel::ActivationItem()" )
- return iProfileDisabled;
+ 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 );
+ }
+ }
}
+
// -----------------------------------------------------------------------------
// Returns the list of profile names
// -----------------------------------------------------------------------------
CDesCArray* CMusSettingsModel::ListOfProfileNamesL()
{
MUS_LOG( "[MUSSET] -> CMusSettingsModel::ListOfProfileNamesL()" )
- RPointerArray<CSIPProfile>& list = iHandler.ProfileArrayL();
+ CArrayPtr<CSIPManagedProfile>* 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[i]->GetParameter( KSIPProviderName, providerName ) );
+ list->At(i)->GetParameter( KSIPProviderName, providerName ) );
HBufC8* decodedProvider =
EscapeUtils::EscapeDecodeL( *providerName );
@@ -171,7 +304,7 @@
HBufC* CMusSettingsModel::ProfileNameL( TInt aId )
{
MUS_LOG1(
- "[MUSSET] -> CMusSettingsModel::ProfileNameL()( %d )",
+ "[MUSSET] -> CMusSettingsContainer::ProfileNameL()( %d )",
aId )
const TDesC8* providerName = 0;
TInt index = ProfileIndexByIdL( aId );
@@ -179,7 +312,7 @@
if ( index >= 0 )
{
- if ( KErrNone == iHandler.ProfileArrayL()[index]->
+ if ( KErrNone == iHandler.ProfileArrayL()->At( index )->
GetParameter( KSIPProviderName, providerName ) )
{
HBufC8* decodedProvider =
@@ -202,9 +335,9 @@
}
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
// Returns default SIP profile index.
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
TInt CMusSettingsModel::DefaultProfileIndex()
{
MUS_LOG( "[MUSSET] <- CMusSettingsModel::DefaultProfileIndex()" )
@@ -212,9 +345,9 @@
}
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
// Returns id of default SIP profile.
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
TUint32 CMusSettingsModel::DefaultProfileId()
{
MUS_LOG( "[MUSSET] <- CMusSettingsModel::DefaultProfileId()" )
@@ -222,9 +355,9 @@
}
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
// Returns SIP profile index based on the Id of SIP profile.
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
TInt CMusSettingsModel::ProfileIndexByIdL( TUint32 aId )
{
MUS_LOG( "[MUSSET] <- CMusSettingsModel::ProfileIndexByIdL()" )
@@ -232,41 +365,19 @@
}
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
// 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<CMusSIPProfileModel&>( 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()" )