supl/locationsuplfw/settingsapi/src/epos_csuplsettingsnotifier.cpp
branchRCL_3
changeset 49 10852b179f64
parent 45 6b6920c56e2f
child 55 ea98413ce11f
equal deleted inserted replaced
47:fce0ae2e4223 49:10852b179f64
    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             {
       
   107             TInt fallBackValue;
    99             TInt fallBackValue;
   108             TInt fallBackTimerValue;
   100             TInt fallBackTimerValue;
   109             TBuf<KMaxStrlen> imsi;
   101             TBuf<KMaxStrlen> imsi;
   110             iRepository->Get(KSuplSettingsFallBack,fallBackValue);
   102             iRepository->Get(KSuplSettingsFallBack,fallBackValue);
   111             iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue);
   103             iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue);
   112             iRepository->Get(KSuplSettingsIMSI,imsi);
   104             iRepository->Get(KSuplSettingsIMSI,imsi);
   113             if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi))
   105             if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi))
   114                 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange);
   106                 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange);
   115             }
   107             
   116         }
   108         }
   117     StartListening();
   109     StartListening();
   118     }
   110     }
   119 
   111 
   120 // ---------------------------------------------------------
   112 // ---------------------------------------------------------
   157         // Request for notification for DB field change
   149         // Request for notification for DB field change
   158         iRepository->NotifyRequest(KSuplSettingsDBEvent, iStatus);
   150         iRepository->NotifyRequest(KSuplSettingsDBEvent, iStatus);
   159         }
   151         }
   160     else
   152     else
   161         {
   153         {
   162         TInt usage;
   154         
   163         TBuf<KMaxStrlen> imsi;
   155         TBuf<KMaxStrlen> imsi;
   164         iRepository->Get(KSuplSettingsUsage, usage);
   156         
   165         iRepository->Get(KSuplSettingsFallBack,iFallBackValue);
   157         iRepository->Get(KSuplSettingsFallBack,iFallBackValue);
   166         iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue);
   158         iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue);
   167         iRepository->Get(KSuplSettingsIMSI,imsi);
   159         iRepository->Get(KSuplSettingsIMSI,imsi);
   168         if(iImsi)
   160         if(iImsi)
   169             iImsi->Des() = imsi;
   161             iImsi->Des() = imsi;
   170         iUsage = (CSuplSettings::TSuplSettingsUsage) usage;
   162         
   171 
   163 
   172         // Request for notification for any field change
   164         // Request for notification for any field change
   173         iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus);
   165         iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus);
   174         }
   166         }
   175     
   167