mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp
changeset 43 9894ed580e4a
parent 38 9e9fc5ab059f
--- a/mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp	Thu Aug 12 20:27:32 2010 -0500
+++ b/mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp	Tue Aug 24 03:16:41 2010 -0500
@@ -21,6 +21,7 @@
 #include <AudioClientsListPSKeys.h>
 #include <AudioClientsListPSData.h>
 #include <MediaStreamPropertiesPSKeys.h>
+#include <MProfileExtended.h>
 
 #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);
     }