228 // ---------------------------------------------------------------------------- |
228 // ---------------------------------------------------------------------------- |
229 // |
229 // |
230 void CIpsPlgOnlineOperation::SignalFSObserver( TInt aStatus ) |
230 void CIpsPlgOnlineOperation::SignalFSObserver( TInt aStatus ) |
231 { |
231 { |
232 FUNC_LOG; |
232 FUNC_LOG; |
233 if( iSignallingAllowed ) |
233 if ( iSignallingAllowed ) |
234 { |
234 { |
235 TFSProgress prog; |
235 TFSProgress prog; |
236 prog.iError = aStatus; |
|
237 // Initialize the progress data |
236 // Initialize the progress data |
238 // it would be better to get fs progress from inherited class |
237 // it would be better to get fs progress from inherited class |
239 // by calling FSProgressL method?? |
238 // by calling FSProgressL method?? |
240 if ( prog.iError == KErrCancel || prog.iError == KErrImapBadLogon ) |
239 if ( aStatus == KErrCancel ) |
241 { |
240 { |
|
241 prog.iError = KErrNone; |
242 prog.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
242 prog.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
243 } |
243 } |
|
244 else if ( aStatus == KErrImapBadLogon ) |
|
245 { |
|
246 prog.iError = aStatus; |
|
247 prog.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
|
248 } |
244 else |
249 else |
245 { |
250 { |
|
251 prog.iError = aStatus; |
246 prog.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
252 prog.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
247 } |
253 } |
248 // At least in the attachment download, FS UI assumes that |
254 // At least in the attachment download, FS UI assumes that |
249 // the counter fields are greater than 0 |
255 // the counter fields are greater than 0 |
250 prog.iMaxCount = 1; |
256 prog.iMaxCount = 1; |
251 prog.iCounter = 1; |
257 prog.iCounter = 1; |
252 |
258 |
253 |
|
254 //in case of autoconnect, we don't have valid observer |
259 //in case of autoconnect, we don't have valid observer |
255 if( &iFSOperationObserver ) |
260 if ( &iFSOperationObserver ) |
256 { |
261 { |
257 TRAP_IGNORE( iFSOperationObserver.RequestResponseL( prog, iFSRequestId ) ); |
262 TRAP_IGNORE( iFSOperationObserver.RequestResponseL( prog, iFSRequestId ) ); |
258 } |
263 } |
259 } |
264 } |
260 } |
265 } |