supl/locationsuplfw/settingsapi/src/epos_csuplsettingsnotifier.cpp
branchRCL_3
changeset 55 ea98413ce11f
parent 49 10852b179f64
equal deleted inserted replaced
49:10852b179f64 55:ea98413ce11f
    93 
    93 
    94         MSuplSettingsObserver::TSuplSettingsEventType eventType = (MSuplSettingsObserver::TSuplSettingsEventType)event;
    94         MSuplSettingsObserver::TSuplSettingsEventType eventType = (MSuplSettingsObserver::TSuplSettingsEventType)event;
    95         iObserver.HandleSuplSettingsChangeL(eventType,slpID);
    95         iObserver.HandleSuplSettingsChangeL(eventType,slpID);
    96         }
    96         }
    97     else
    97     else
    98         {           
    98         {
       
    99         TInt usage;
       
   100 
       
   101         iRepository->Get(KSuplSettingsUsage, usage);
       
   102 
       
   103         if (iUsage != usage) //check if there was a change in the Supl usage value in the cen rep
       
   104             iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange);
       
   105         else //else check if any of the other config parameters changed
       
   106             {
    99             TInt fallBackValue;
   107             TInt fallBackValue;
   100             TInt fallBackTimerValue;
   108             TInt fallBackTimerValue;
   101             TBuf<KMaxStrlen> imsi;
   109             TBuf<KMaxStrlen> imsi;
   102             iRepository->Get(KSuplSettingsFallBack,fallBackValue);
   110             iRepository->Get(KSuplSettingsFallBack,fallBackValue);
   103             iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue);
   111             iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue);
   104             iRepository->Get(KSuplSettingsIMSI,imsi);
   112             iRepository->Get(KSuplSettingsIMSI,imsi);
   105             if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi))
   113             if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi))
   106                 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange);
   114                 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange);
   107             
   115             }
   108         }
   116         }
   109     StartListening();
   117     StartListening();
   110     }
   118     }
   111 
   119 
   112 // ---------------------------------------------------------
   120 // ---------------------------------------------------------
   149         // Request for notification for DB field change
   157         // Request for notification for DB field change
   150         iRepository->NotifyRequest(KSuplSettingsDBEvent, iStatus);
   158         iRepository->NotifyRequest(KSuplSettingsDBEvent, iStatus);
   151         }
   159         }
   152     else
   160     else
   153         {
   161         {
   154         
   162         TInt usage;
   155         TBuf<KMaxStrlen> imsi;
   163         TBuf<KMaxStrlen> imsi;
   156         
   164         iRepository->Get(KSuplSettingsUsage, usage);
   157         iRepository->Get(KSuplSettingsFallBack,iFallBackValue);
   165         iRepository->Get(KSuplSettingsFallBack,iFallBackValue);
   158         iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue);
   166         iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue);
   159         iRepository->Get(KSuplSettingsIMSI,imsi);
   167         iRepository->Get(KSuplSettingsIMSI,imsi);
   160         if(iImsi)
   168         if(iImsi)
   161             iImsi->Des() = imsi;
   169             iImsi->Des() = imsi;
   162         
   170         iUsage = (CSuplSettings::TSuplSettingsUsage) usage;
   163 
   171 
   164         // Request for notification for any field change
   172         // Request for notification for any field change
   165         iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus);
   173         iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus);
   166         }
   174         }
   167     
   175