mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp
changeset 42 1fa3fb47b1e3
parent 0 71ca22bcf22a
child 43 9894ed580e4a
equal deleted inserted replaced
32:94fc26b6e006 42:1fa3fb47b1e3
    51 	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASSilentProfile);
    51 	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASSilentProfile);
    52 	
    52 	
    53 	iVibraProperty.Close();
    53 	iVibraProperty.Close();
    54 	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASVibra);
    54 	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASVibra);
    55 	
    55 	
       
    56 	iRingingTypeProperty.Close();
       
    57 	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASRingingType);
       
    58 	
       
    59 	iMessageToneNameProperty.Close();
       
    60 	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASMessageToneName);
       
    61 	
       
    62 	iEmailToneNameProperty.Close();
       
    63 	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASEmailToneName);
       
    64 	
       
    65 	iVideoCallToneNameProperty.Close();
       
    66 	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASVideoCallToneName);
       
    67 	
       
    68 	iRingingTone1NameProperty.Close();
       
    69 	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASRingingTone1Name);
       
    70 	
       
    71 	iRingingTone2NameProperty.Close();
       
    72     RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASRingingTone2Name);
       
    73 	
       
    74 	iKeypadVolumeProperty.Close();
       
    75 	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASKeypadToneVolume);
       
    76 	
       
    77 	if(iMessageToneName)
       
    78 	  {
       
    79 	  delete iMessageToneName;
       
    80 	  iMessageToneName=NULL;
       
    81 	  }
       
    82 	if(iEmailToneName)
       
    83 	  {
       
    84 	  delete iEmailToneName;
       
    85 	  iEmailToneName=NULL;
       
    86 	  }
       
    87 	if(iVideoCallToneName)
       
    88 	  {
       
    89 	  delete iVideoCallToneName;
       
    90 	  iVideoCallToneName=NULL;
       
    91 	  }
       
    92 	if(iRingingTone1Name)
       
    93 	  {
       
    94 	  delete iRingingTone1Name;
       
    95 	  iRingingTone1Name=NULL;
       
    96 	  }
       
    97 	if(iRingingTone2Name)
       
    98 	   {
       
    99 	   delete iRingingTone2Name;
       
   100 	   iRingingTone2Name=NULL;
       
   101 	   }
    56 	// Release profile engine resources
   102 	// Release profile engine resources
    57 	if ( iEngine )
   103 	if ( iEngine )
    58 	    {
   104 	    {
    59 	    iEngine->Release();
   105 	    iEngine->Release();
    60 	    }
   106 	    }
    90     //CleanupStack::PushL(currentProfile);
   136     //CleanupStack::PushL(currentProfile);
    91     MProEngToneSettings& settings = currentProfile->ToneSettings();
   137     MProEngToneSettings& settings = currentProfile->ToneSettings();
    92     iWarningTones = settings.WarningAndGameTones();
   138     iWarningTones = settings.WarningAndGameTones();
    93     iMessagingTones = !( currentProfile->IsSilent() );
   139     iMessagingTones = !( currentProfile->IsSilent() );
    94     iVibra = settings.VibratingAlert();
   140     iVibra = settings.VibratingAlert();
       
   141   
       
   142     CMapGASRingingType( settings.RingingType());
       
   143     
    95     //CleanupStack::PopAndDestroy(currentProfile);
   144     //CleanupStack::PopAndDestroy(currentProfile);
       
   145    
       
   146     MProEngTones& profileTones=currentProfile->ProfileTones();
       
   147     
       
   148     iMessageToneName=profileTones.MessageAlertTone().AllocL();
       
   149    
       
   150     iEmailToneName=profileTones.EmailAlertTone().AllocL();
       
   151     
       
   152     iVideoCallToneName=profileTones.VideoCallRingingTone().AllocL();
       
   153     
       
   154     iRingingTone1Name=profileTones.RingingTone1().AllocL();
       
   155     
       
   156     iRingingTone2Name=profileTones.RingingTone2().AllocL();
       
   157         
       
   158   
       
   159     CMapGASKeypadVolume(settings.KeypadVolume());
    96     
   160     
    97     // Get PublicSilence from CenRep
   161     // Get PublicSilence from CenRep
    98     TInt featureBitmask( 0 );     
   162     TInt featureBitmask( 0 );     
    99     CRepository* profileCenRep = CRepository::NewL( KCRUidProfilesLV );
   163     CRepository* profileCenRep = CRepository::NewL( KCRUidProfilesLV );
   100     CleanupStack::PushL(profileCenRep);
   164     CleanupStack::PushL(profileCenRep);
   180                                                 KGASPublicSilence));
   244                                                 KGASPublicSilence));
   181     User::LeaveIfError(iPublicSilenceProperty.Set(
   245     User::LeaveIfError(iPublicSilenceProperty.Set(
   182                                                 KGASPSUidGlobalAudioSettings,
   246                                                 KGASPSUidGlobalAudioSettings,
   183                                                 KGASPublicSilence,
   247                                                 KGASPublicSilence,
   184                                                 iPublicSilence));
   248                                                 iPublicSilence));
       
   249     
       
   250     
       
   251     
       
   252     User::LeaveIfError(RProperty::Define(
       
   253                                     KGASPSUidGlobalAudioSettings,
       
   254                                     KGASRingingType,
       
   255                                     RProperty::EInt,
       
   256                                     read,
       
   257                                     write));
       
   258     User::LeaveIfError(iRingingTypeProperty.Attach(
       
   259                                               KGASPSUidGlobalAudioSettings,
       
   260                                               KGASRingingType));
       
   261     User::LeaveIfError(iRingingTypeProperty.Set(
       
   262                                               KGASPSUidGlobalAudioSettings,
       
   263                                               KGASRingingType,
       
   264                                               iGASRingingType));
       
   265     User::LeaveIfError(RProperty::Define(
       
   266                                     KGASPSUidGlobalAudioSettings,
       
   267                                     KGASMessageToneName,
       
   268                                     RProperty::EText,
       
   269                                     read,
       
   270                                     write));
       
   271     User::LeaveIfError(iMessageToneNameProperty.Attach(
       
   272                                                 KGASPSUidGlobalAudioSettings,
       
   273                                                 KGASMessageToneName));
       
   274     User::LeaveIfError(iMessageToneNameProperty.Set(
       
   275                                                 KGASPSUidGlobalAudioSettings,
       
   276                                                 KGASMessageToneName,
       
   277                                                 *iMessageToneName));
       
   278     
       
   279     User::LeaveIfError(RProperty::Define(
       
   280                                     KGASPSUidGlobalAudioSettings,
       
   281                                     KGASEmailToneName,
       
   282                                     RProperty::EText,
       
   283                                     read,
       
   284                                     write));
       
   285     User::LeaveIfError(iEmailToneNameProperty.Attach(
       
   286                                                KGASPSUidGlobalAudioSettings,
       
   287                                                KGASEmailToneName));
       
   288     User::LeaveIfError(iEmailToneNameProperty.Set(
       
   289                                                KGASPSUidGlobalAudioSettings,
       
   290                                                KGASEmailToneName,
       
   291                                                *iEmailToneName));
       
   292     User::LeaveIfError(RProperty::Define(
       
   293                                     KGASPSUidGlobalAudioSettings,
       
   294                                     KGASVideoCallToneName,
       
   295                                     RProperty::EText,
       
   296                                     read,
       
   297                                     write));
       
   298     User::LeaveIfError(iVideoCallToneNameProperty.Attach(
       
   299                                                KGASPSUidGlobalAudioSettings,
       
   300                                                KGASVideoCallToneName));
       
   301     User::LeaveIfError(iVideoCallToneNameProperty.Set(
       
   302                                                KGASPSUidGlobalAudioSettings,
       
   303                                                KGASVideoCallToneName,
       
   304                                                *iVideoCallToneName));
       
   305         
       
   306     User::LeaveIfError(RProperty::Define(
       
   307                                     KGASPSUidGlobalAudioSettings,
       
   308                                     KGASRingingTone1Name,
       
   309                                     RProperty::EText,
       
   310                                     read,
       
   311                                     write));
       
   312     User::LeaveIfError(iRingingTone1NameProperty.Attach(
       
   313                                                KGASPSUidGlobalAudioSettings,
       
   314                                                KGASRingingTone1Name));
       
   315     User::LeaveIfError(iRingingTone1NameProperty.Set(
       
   316                                                KGASPSUidGlobalAudioSettings,
       
   317                                                KGASRingingTone1Name,
       
   318                                                *iRingingTone1Name));
       
   319     User::LeaveIfError(RProperty::Define(
       
   320                                     KGASPSUidGlobalAudioSettings,
       
   321                                     KGASRingingTone2Name,
       
   322                                     RProperty::EText,
       
   323                                     read,
       
   324                                     write));
       
   325     User::LeaveIfError(iRingingTone2NameProperty.Attach(
       
   326                                                KGASPSUidGlobalAudioSettings,
       
   327                                                KGASRingingTone2Name));
       
   328     User::LeaveIfError(iRingingTone2NameProperty.Set(
       
   329                                                KGASPSUidGlobalAudioSettings,
       
   330                                                KGASRingingTone2Name,
       
   331                                                *iRingingTone2Name));
       
   332     
       
   333     User::LeaveIfError(RProperty::Define(
       
   334                                     KGASPSUidGlobalAudioSettings,
       
   335                                     KGASKeypadToneVolume,
       
   336                                     RProperty::EInt,
       
   337                                     read,
       
   338                                     write));
       
   339     User::LeaveIfError(iKeypadVolumeProperty.Attach(
       
   340                                                KGASPSUidGlobalAudioSettings,
       
   341                                                KGASKeypadToneVolume));
       
   342     User::LeaveIfError(iKeypadVolumeProperty.Set(
       
   343                                                KGASPSUidGlobalAudioSettings,
       
   344                                                KGASKeypadToneVolume,
       
   345                                                iGASKeypadVolume));
   185 
   346 
   186     //Stream Gain Control
   347     //Stream Gain Control
   187     TInt status = RProperty::Define(
   348     TInt status = RProperty::Define(
   188                                 KPSUidMediaStreamProperties,
   349                                 KPSUidMediaStreamProperties,
   189                                 KMediaStreamCurrentGain,
   350                                 KMediaStreamCurrentGain,
   319             User::LeaveIfError(iVibraProperty.Set(
   480             User::LeaveIfError(iVibraProperty.Set(
   320                                                 KGASPSUidGlobalAudioSettings,
   481                                                 KGASPSUidGlobalAudioSettings,
   321                                                 KGASVibra,
   482                                                 KGASVibra,
   322                                                 iVibra));
   483                                                 iVibra));
   323             }
   484             }
       
   485         if(iGASRingingType != settings.RingingType())
       
   486             {
       
   487             
       
   488              CMapGASRingingType(settings.RingingType());
       
   489             
       
   490              User::LeaveIfError(iRingingTypeProperty.Set(
       
   491                                                          KGASPSUidGlobalAudioSettings,
       
   492                                                          KGASRingingType,
       
   493                                                          iGASRingingType));
       
   494              
       
   495             }
       
   496         MProEngTones &profileTones=currentProfile->ProfileTones();
       
   497         if(iMessageToneName->Compare(profileTones.MessageAlertTone())!= 0)
       
   498             {
       
   499               delete iMessageToneName;
       
   500               iMessageToneName=NULL;
       
   501               iMessageToneName=profileTones.MessageAlertTone().AllocL();
       
   502               User::LeaveIfError(iMessageToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   503                                                               KGASMessageToneName,
       
   504                                                               *iMessageToneName));
       
   505             }
       
   506         if(iEmailToneName->Compare(profileTones.EmailAlertTone())!= 0)
       
   507             {
       
   508               delete iEmailToneName;
       
   509               iEmailToneName=NULL;
       
   510               iEmailToneName=profileTones.EmailAlertTone().AllocL();
       
   511               User::LeaveIfError(iEmailToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   512                                                                             KGASEmailToneName,
       
   513                                                                             *iEmailToneName));
       
   514             }
       
   515         if(iVideoCallToneName->Compare(profileTones.VideoCallRingingTone())!=0)
       
   516             {
       
   517               delete iVideoCallToneName;
       
   518               iVideoCallToneName=NULL;
       
   519               iVideoCallToneName=profileTones.VideoCallRingingTone().AllocL();
       
   520               User::LeaveIfError(iVideoCallToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   521                                                                                           KGASVideoCallToneName,
       
   522                                                                                           *iVideoCallToneName));
       
   523               
       
   524             }
       
   525         if(iRingingTone1Name->Compare(profileTones.RingingTone1())!=0)
       
   526             {
       
   527           delete iRingingTone1Name;
       
   528           iRingingTone1Name=NULL;
       
   529           iRingingTone1Name=profileTones.RingingTone1().AllocL();
       
   530           User::LeaveIfError(iRingingTone1NameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   531                                                                                       KGASRingingTone1Name,
       
   532                                                                                       *iRingingTone1Name));
       
   533             }
       
   534         if(iRingingTone2Name->Compare(profileTones.RingingTone2())!=0)
       
   535                     {
       
   536                    delete iRingingTone2Name;
       
   537                   iRingingTone2Name=NULL;
       
   538                   iRingingTone2Name=profileTones.RingingTone2().AllocL();
       
   539                   User::LeaveIfError(iRingingTone2NameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   540                                                                                               KGASRingingTone2Name,
       
   541                                                                                               *iRingingTone2Name));
       
   542                     }
       
   543         if(iGASKeypadVolume!=settings.KeypadVolume())
       
   544             {
       
   545               
       
   546               CMapGASKeypadVolume(settings.KeypadVolume());
       
   547               User::LeaveIfError(iKeypadVolumeProperty.Set(KGASPSUidGlobalAudioSettings,
       
   548                                                                                         KGASKeypadToneVolume,
       
   549                                                                                         iGASKeypadVolume));
       
   550               
       
   551               
       
   552             }
   324         CleanupStack::PopAndDestroy(currentProfile);
   553         CleanupStack::PopAndDestroy(currentProfile);
   325         }
   554         }
   326 #ifdef _DEBUG
   555 #ifdef _DEBUG
   327     else
   556     else
   328         {
   557         {
   344     iActiveProfileId = iEngine->ActiveProfileId();
   573     iActiveProfileId = iEngine->ActiveProfileId();
   345     MProEngProfile* currentProfile = iEngine->ActiveProfileL();
   574     MProEngProfile* currentProfile = iEngine->ActiveProfileL();
   346     CleanupReleasePushL(*currentProfile);
   575     CleanupReleasePushL(*currentProfile);
   347     
   576     
   348     MProEngToneSettings& settings = currentProfile->ToneSettings();
   577     MProEngToneSettings& settings = currentProfile->ToneSettings();
       
   578     MProEngTones& profileTones=currentProfile->ProfileTones();
   349     if(iWarningTones != settings.WarningAndGameTones())
   579     if(iWarningTones != settings.WarningAndGameTones())
   350         {
   580         {
   351         iWarningTones = settings.WarningAndGameTones();
   581         iWarningTones = settings.WarningAndGameTones();
   352         User::LeaveIfError(iWarningTonesProperty.Set(
   582         User::LeaveIfError(iWarningTonesProperty.Set(
   353                                                     KGASPSUidGlobalAudioSettings,
   583                                                     KGASPSUidGlobalAudioSettings,
   369         User::LeaveIfError(iVibraProperty.Set(
   599         User::LeaveIfError(iVibraProperty.Set(
   370                                             KGASPSUidGlobalAudioSettings,
   600                                             KGASPSUidGlobalAudioSettings,
   371                                             KGASVibra,
   601                                             KGASVibra,
   372                                             iVibra));
   602                                             iVibra));
   373         }
   603         }
       
   604     if(iGASRingingType != settings.RingingType())
       
   605         {
       
   606         
       
   607          CMapGASRingingType(settings.RingingType());
       
   608          
       
   609          User::LeaveIfError(iRingingTypeProperty.Set(
       
   610                                                      KGASPSUidGlobalAudioSettings,
       
   611                                                      KGASRingingType,
       
   612                                                      iGASRingingType));
       
   613         }
       
   614     if(iMessageToneName->Compare(profileTones.MessageAlertTone())!= 0)
       
   615         {
       
   616           delete iMessageToneName;
       
   617           iMessageToneName=NULL;
       
   618           iMessageToneName=profileTones.MessageAlertTone().AllocL();
       
   619           
       
   620           User::LeaveIfError(iMessageToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   621                                                           KGASMessageToneName,
       
   622                                                           *iMessageToneName));
       
   623         }
       
   624     
       
   625     if(iEmailToneName->Compare(profileTones.EmailAlertTone())!= 0)
       
   626         {
       
   627           delete iEmailToneName;
       
   628           iEmailToneName=NULL;
       
   629           iEmailToneName=profileTones.EmailAlertTone().AllocL();
       
   630           User::LeaveIfError(iEmailToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   631                                                                         KGASEmailToneName,
       
   632                                                                         *iEmailToneName));
       
   633         }
       
   634     if(iVideoCallToneName->Compare(profileTones.VideoCallRingingTone())!=0)
       
   635         {
       
   636           delete iVideoCallToneName;
       
   637           iVideoCallToneName=NULL;
       
   638           iVideoCallToneName=profileTones.VideoCallRingingTone().AllocL();
       
   639           User::LeaveIfError(iVideoCallToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   640                                                                                       KGASVideoCallToneName,
       
   641                                                                                       *iVideoCallToneName));
       
   642           
       
   643         }
       
   644     if(iRingingTone1Name->Compare(profileTones.RingingTone1())!=0)
       
   645         {
       
   646          delete iRingingTone1Name;
       
   647          iRingingTone1Name=NULL;
       
   648          iRingingTone1Name=profileTones.RingingTone1().AllocL();
       
   649          User::LeaveIfError(iRingingTone1NameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   650                                                                                   KGASRingingTone1Name,
       
   651                                                                                   *iRingingTone1Name));
       
   652          
       
   653         }
       
   654     if(iRingingTone2Name->Compare(profileTones.RingingTone2())!=0)
       
   655         {
       
   656           delete iRingingTone2Name;
       
   657           iRingingTone2Name=NULL;
       
   658           iRingingTone2Name=profileTones.RingingTone2().AllocL();
       
   659           User::LeaveIfError(iRingingTone2NameProperty.Set(KGASPSUidGlobalAudioSettings,
       
   660                                                                                       KGASRingingTone2Name,
       
   661                                                                                       *iRingingTone2Name));
       
   662          
       
   663             }
       
   664     if(iGASKeypadVolume!=settings.KeypadVolume())
       
   665         {
       
   666          
       
   667           CMapGASKeypadVolume( settings.KeypadVolume());
       
   668           User::LeaveIfError(iKeypadVolumeProperty.Set(KGASPSUidGlobalAudioSettings,
       
   669                                                                                                 KGASKeypadToneVolume,
       
   670                                                                                                 iGASKeypadVolume));
       
   671           
       
   672           
       
   673         }
   374     CleanupStack::PopAndDestroy(currentProfile);
   674     CleanupStack::PopAndDestroy(currentProfile);
   375     }
   675     }
   376 
   676 
   377 void CProfileSettingsMonitorServerImpl::HandleActiveProfileNotificationError( TInt /*aError*/ )
   677 void CProfileSettingsMonitorServerImpl::HandleActiveProfileNotificationError( TInt /*aError*/ )
   378     {
   678     {
   379     DEB_TRACE0(_L("CMyProfileNameArrayObserver::HandleProfileActivationNotificationError"));
   679     DEB_TRACE0(_L("CMyProfileNameArrayObserver::HandleProfileActivationNotificationError"));
   380 	}
   680 	}
   381 
   681 void CProfileSettingsMonitorServerImpl::CMapGASRingingType(TProfileRingingType aRingingType)
       
   682     {
       
   683     switch(aRingingType)
       
   684             {
       
   685             case EProfileRingingTypeRinging :   iGASRingingType=CGlobalAudioSettings::EGASRingingTypeRinging;
       
   686                                                  break;
       
   687                
       
   688             case EProfileRingingTypeAscending:iGASRingingType=CGlobalAudioSettings::EGASRingingTypeAscending;
       
   689                                                break;
       
   690               
       
   691             case EProfileRingingTypeRingingOnce :iGASRingingType=CGlobalAudioSettings::EGASRingingTypeRingingOnce;
       
   692                                                   break;
       
   693                
       
   694             case EProfileRingingTypeBeepOnce :iGASRingingType=CGlobalAudioSettings::EGASRingingTypeBeepOnce;
       
   695                                               break;
       
   696                
       
   697             case EProfileRingingTypeSilent:iGASRingingType=CGlobalAudioSettings::EGASRingingTypeSilent;
       
   698                                            break;
       
   699             }
       
   700     }
       
   701 void CProfileSettingsMonitorServerImpl::CMapGASKeypadVolume(TProfileKeypadVolume aKeypadVolume)
       
   702     {
       
   703      switch(aKeypadVolume)
       
   704          {
       
   705          case  EProfileKeypadVolumeOff  : iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeOff;
       
   706                                           break;
       
   707          case EProfileKeypadVolumeLevel1 :iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeLevel1;
       
   708                                           break;
       
   709          case EProfileKeypadVolumeLevel2 :iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeLevel2;
       
   710                                           break;
       
   711          case  EProfileKeypadVolumeLevel3 :iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeLevel3;
       
   712                                            break;
       
   713          }
       
   714     }
   382 // End of file
   715 // End of file
   383 	
   716