diff -r 1fa3fb47b1e3 -r c2e43643db4c mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp --- a/mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp Wed Aug 18 10:17:22 2010 +0300 +++ b/mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp Thu Sep 02 20:58:01 2010 +0300 @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef _DEBUG #define DEB_TRACE0(str) RDebug::Print(str) @@ -99,6 +100,11 @@ delete iRingingTone2Name; iRingingTone2Name=NULL; } + if(iProfileEngineExtended) + { + iProfileEngineExtended->Release(); + } + //delete iProfileEngineExtended; // Release profile engine resources if ( iEngine ) { @@ -158,6 +164,10 @@ CMapGASKeypadVolume(settings.KeypadVolume()); + iProfileEngineExtended =::CreateProfileEngineExtended2L(); + + iSilenceMode = iProfileEngineExtended->SilenceModeL(); + RDebug::Printf("value of silence mode %d",iSilenceMode); // Get PublicSilence from CenRep TInt featureBitmask( 0 ); CRepository* profileCenRep = CRepository::NewL( KCRUidProfilesLV ); @@ -343,6 +353,20 @@ KGASPSUidGlobalAudioSettings, KGASKeypadToneVolume, iGASKeypadVolume)); + + User::LeaveIfError(RProperty::Define( + KGASPSUidGlobalAudioSettings, + KGASSilenceMode, + RProperty::EInt, + read, + write)); + User::LeaveIfError(iSilenceModeProperty.Attach( + KGASPSUidGlobalAudioSettings, + KGASSilenceMode)); + User::LeaveIfError(iSilenceModeProperty.Set( + KGASPSUidGlobalAudioSettings, + KGASSilenceMode, + iSilenceMode)); //Stream Gain Control TInt status = RProperty::Define( @@ -550,6 +574,16 @@ } + if(iSilenceMode != iProfileEngineExtended->SilenceModeL()) + { + RDebug::Printf("silence mode changed"); + iSilenceMode = iProfileEngineExtended->SilenceModeL(); + User::LeaveIfError(iSilenceModeProperty.Set( + KGASPSUidGlobalAudioSettings, + KGASSilenceMode, + iSilenceMode)); + } + CleanupStack::PopAndDestroy(currentProfile); } #ifdef _DEBUG @@ -671,6 +705,15 @@ } + if(iSilenceMode != iProfileEngineExtended ->SilenceModeL()) + { + RDebug::Printf("silence mode changed"); + iSilenceMode = iProfileEngineExtended ->SilenceModeL(); + User::LeaveIfError(iSilenceModeProperty.Set(KGASPSUidGlobalAudioSettings, + KGASSilenceMode, + iSilenceMode)); + } + CleanupStack::PopAndDestroy(currentProfile); }