88 TInt event; |
88 TInt event; |
89 iRepository->Get(KSuplSettingsDBEvent, event); |
89 iRepository->Get(KSuplSettingsDBEvent, event); |
90 TReal slpID; |
90 TReal slpID; |
91 iRepository->Get(KSuplSettingsDBChangedSLPId, slpID); |
91 iRepository->Get(KSuplSettingsDBChangedSLPId, slpID); |
92 |
92 |
93 |
93 MSuplSettingsObserver::TSuplSettingsEventType eventType = MSuplSettingsObserver::ESuplSettingsEventUnspecified; |
94 MSuplSettingsObserver::TSuplSettingsEventType eventType = (MSuplSettingsObserver::TSuplSettingsEventType)event; |
94 switch(event) |
|
95 { |
|
96 case MSuplSettingsObserver::ESuplSettingsDBAddEvent: |
|
97 case MSuplSettingsObserver::ESuplSettingsDBAddEvent+1 : |
|
98 { |
|
99 eventType = MSuplSettingsObserver::ESuplSettingsDBAddEvent; |
|
100 } |
|
101 break; |
|
102 case MSuplSettingsObserver::ESuplSettingsDBDeleteEvent: |
|
103 case MSuplSettingsObserver::ESuplSettingsDBDeleteEvent+1 : |
|
104 { |
|
105 eventType = MSuplSettingsObserver::ESuplSettingsDBDeleteEvent; |
|
106 } |
|
107 break; |
|
108 case MSuplSettingsObserver::ESuplSettingsDBUpdateEvent: |
|
109 case MSuplSettingsObserver::ESuplSettingsDBUpdateEvent+1 : |
|
110 { |
|
111 eventType = MSuplSettingsObserver::ESuplSettingsDBUpdateEvent; |
|
112 } |
|
113 break; |
|
114 default: |
|
115 eventType = MSuplSettingsObserver::ESuplSettingsEventUnspecified; |
|
116 break; |
|
117 |
|
118 } |
|
119 |
95 iObserver.HandleSuplSettingsChangeL(eventType,slpID); |
120 iObserver.HandleSuplSettingsChangeL(eventType,slpID); |
96 } |
121 } |
97 else |
122 else |
98 { |
123 { |
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; |
124 TInt fallBackValue; |
108 TInt fallBackTimerValue; |
125 TInt fallBackTimerValue; |
109 TBuf<KMaxStrlen> imsi; |
126 TBuf<KMaxStrlen> imsi; |
|
127 TInt triggerServiceStatus; |
|
128 |
110 iRepository->Get(KSuplSettingsFallBack,fallBackValue); |
129 iRepository->Get(KSuplSettingsFallBack,fallBackValue); |
111 iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue); |
130 iRepository->Get(KSuplSettingsFallBackTimer,fallBackTimerValue); |
112 iRepository->Get(KSuplSettingsIMSI,imsi); |
131 iRepository->Get(KSuplSettingsIMSI,imsi); |
|
132 iRepository->Get(KSuplSettingsTriggerServiceStatus,triggerServiceStatus); |
|
133 |
|
134 if(triggerServiceStatus != iTriggerServiceStatus ) |
|
135 { |
|
136 iObserver.HandleSuplTriggerStatusChangeL((CSuplSettings::TSuplTriggerStatus)triggerServiceStatus); |
|
137 } |
|
138 |
113 if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi)) |
139 if(fallBackValue != iFallBackValue || fallBackTimerValue != iFallBackTimerValue || imsi.Compare(*iImsi)) |
114 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange); |
140 iObserver.HandleSuplSettingsChangeL(MSuplSettingsObserver::ESuplSettingsEventCommParameterChange); |
115 } |
141 |
116 } |
142 } |
117 StartListening(); |
143 StartListening(); |
118 } |
144 } |
119 |
145 |
120 // --------------------------------------------------------- |
146 // --------------------------------------------------------- |
157 // Request for notification for DB field change |
183 // Request for notification for DB field change |
158 iRepository->NotifyRequest(KSuplSettingsDBEvent, iStatus); |
184 iRepository->NotifyRequest(KSuplSettingsDBEvent, iStatus); |
159 } |
185 } |
160 else |
186 else |
161 { |
187 { |
162 TInt usage; |
|
163 TBuf<KMaxStrlen> imsi; |
188 TBuf<KMaxStrlen> imsi; |
164 iRepository->Get(KSuplSettingsUsage, usage); |
|
165 iRepository->Get(KSuplSettingsFallBack,iFallBackValue); |
189 iRepository->Get(KSuplSettingsFallBack,iFallBackValue); |
166 iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue); |
190 iRepository->Get(KSuplSettingsFallBackTimer,iFallBackTimerValue); |
167 iRepository->Get(KSuplSettingsIMSI,imsi); |
191 iRepository->Get(KSuplSettingsIMSI,imsi); |
|
192 iRepository->Get(KSuplSettingsTriggerServiceStatus,iTriggerServiceStatus); |
|
193 |
168 if(iImsi) |
194 if(iImsi) |
169 iImsi->Des() = imsi; |
195 iImsi->Des() = imsi; |
170 iUsage = (CSuplSettings::TSuplSettingsUsage) usage; |
196 |
171 |
|
172 // Request for notification for any field change |
197 // Request for notification for any field change |
173 iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus); |
198 iRepository->NotifyRequest(0x00000000, 0x00000000, iStatus); |
174 } |
199 } |
175 |
200 |
176 SetActive(); |
201 SetActive(); |