equal
deleted
inserted
replaced
13 * |
13 * |
14 * Description: ES Protocol Framework branding manager interface definition |
14 * Description: ES Protocol Framework branding manager interface definition |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
|
18 |
18 #include "emailtrace.h" |
19 #include "emailtrace.h" |
19 |
|
20 //<qmail> |
|
21 #include <nmcommonheaders.h> |
|
22 //</qmail> |
|
23 |
|
24 #include <fsmailbrandmanager.rsg> |
20 #include <fsmailbrandmanager.rsg> |
25 #include <barsread.h> |
21 #include <barsread.h> |
26 #include <bautils.h> |
22 #include <bautils.h> |
27 #include <mmf/common/mmfcontrollerpluginresolver.h> // CleanupResetAndDestroy |
23 #include <mmf/common/mmfcontrollerpluginresolver.h> // CleanupResetAndDestroy |
28 // <gmail_brand_issue> |
24 // <gmail_brand_issue> |
31 #include <startupdomainpskeys.h> |
27 #include <startupdomainpskeys.h> |
32 #include <tzlocalizer.h> // CTzLocalizer |
28 #include <tzlocalizer.h> // CTzLocalizer |
33 #include <centralrepository.h> |
29 #include <centralrepository.h> |
34 // </gmail_brand_issue> |
30 // </gmail_brand_issue> |
35 //<cmail> |
31 //<cmail> |
36 #include "CFSMailClient.h" |
32 #include "cfsmailclient.h" |
37 //</cmail> |
33 //</cmail> |
38 |
34 |
39 #include "CFSMailBrandManagerImpl.h" |
35 #include "cfsmailbrandmanagerimpl.h" |
40 #include "CFSMailBrand.h" |
36 #include "cfsmailbrand.h" |
41 |
37 |
42 |
38 |
43 const TInt KBrandArrayGranularity = 5; |
39 const TInt KBrandArrayGranularity = 5; |
44 _LIT( KResourceFilePath,"\\resource\\fsmailbrandmanager.rsc" ); |
40 _LIT( KResourceFilePath,"\\resource\\fsmailbrandmanager.rsc" ); |
45 |
41 |
60 const TInt KMCCValueMaxLength = 3; |
56 const TInt KMCCValueMaxLength = 3; |
61 |
57 |
62 #ifdef __WINS__ |
58 #ifdef __WINS__ |
63 LOCAL_C void RetrieveNextToken( TDes8& aContent, TDes& aToken ) |
59 LOCAL_C void RetrieveNextToken( TDes8& aContent, TDes& aToken ) |
64 { |
60 { |
65 NM_FUNCTION; |
|
66 |
|
67 _LIT8( KComma, "," ); |
61 _LIT8( KComma, "," ); |
68 TInt pos = aContent.Find( KComma ); |
62 TInt pos = aContent.Find( KComma ); |
69 if ( pos != KErrNotFound ) |
63 if ( pos != KErrNotFound ) |
70 { |
64 { |
71 aToken.Copy( aContent.MidTPtr( 0, pos ) ); |
65 aToken.Copy( aContent.MidTPtr( 0, pos ) ); |
81 // ----------------------------------------------------------------------------- |
75 // ----------------------------------------------------------------------------- |
82 CFSMailBrandManagerImpl::CFSMailBrandManagerImpl( |
76 CFSMailBrandManagerImpl::CFSMailBrandManagerImpl( |
83 CFSMailClient& aMailClient ) : |
77 CFSMailClient& aMailClient ) : |
84 iMailClient( aMailClient ) |
78 iMailClient( aMailClient ) |
85 { |
79 { |
86 NM_FUNCTION; |
80 FUNC_LOG; |
|
81 |
87 } |
82 } |
88 |
83 |
89 // ----------------------------------------------------------------------------- |
84 // ----------------------------------------------------------------------------- |
90 // CFSMailBrandManagerImpl::ConstructL |
85 // CFSMailBrandManagerImpl::ConstructL |
91 // ----------------------------------------------------------------------------- |
86 // ----------------------------------------------------------------------------- |
92 void CFSMailBrandManagerImpl::ConstructL() |
87 void CFSMailBrandManagerImpl::ConstructL() |
93 { |
88 { |
94 NM_FUNCTION; |
89 FUNC_LOG; |
95 |
90 |
96 // Read resource file, get the drive letter according to the DLL drive |
91 // Read resource file, get the drive letter according to the DLL drive |
97 TFileName dllFileName; |
92 TFileName dllFileName; |
98 Dll::FileName( dllFileName ); |
93 Dll::FileName( dllFileName ); |
99 |
94 |
126 // ----------------------------------------------------------------------------- |
121 // ----------------------------------------------------------------------------- |
127 // CFSMailBrandManagerImpl::~CFSMailBrandManagerImpl |
122 // CFSMailBrandManagerImpl::~CFSMailBrandManagerImpl |
128 // ----------------------------------------------------------------------------- |
123 // ----------------------------------------------------------------------------- |
129 CFSMailBrandManagerImpl::~CFSMailBrandManagerImpl() |
124 CFSMailBrandManagerImpl::~CFSMailBrandManagerImpl() |
130 { |
125 { |
131 NM_FUNCTION; |
126 FUNC_LOG; |
132 |
127 |
133 iResourceFile.Close(); |
128 iResourceFile.Close(); |
134 iFsSession.Close(); |
129 iFsSession.Close(); |
135 |
130 |
136 if ( iBrands ) |
131 if ( iBrands ) |
144 // CFSMailBrandManagerImpl::NewL |
139 // CFSMailBrandManagerImpl::NewL |
145 // ----------------------------------------------------------------------------- |
140 // ----------------------------------------------------------------------------- |
146 CFSMailBrandManagerImpl* CFSMailBrandManagerImpl::NewL( |
141 CFSMailBrandManagerImpl* CFSMailBrandManagerImpl::NewL( |
147 CFSMailClient& aMailClient ) |
142 CFSMailClient& aMailClient ) |
148 { |
143 { |
149 NM_FUNCTION; |
144 FUNC_LOG; |
150 |
|
151 CFSMailBrandManagerImpl* self = |
145 CFSMailBrandManagerImpl* self = |
152 CFSMailBrandManagerImpl::NewLC( aMailClient ); |
146 CFSMailBrandManagerImpl::NewLC( aMailClient ); |
153 CleanupStack::Pop( self ); |
147 CleanupStack::Pop( self ); |
154 return self; |
148 return self; |
155 } |
149 } |
158 // CFSMailBrandManagerImpl::NewLC |
152 // CFSMailBrandManagerImpl::NewLC |
159 // ----------------------------------------------------------------------------- |
153 // ----------------------------------------------------------------------------- |
160 CFSMailBrandManagerImpl* CFSMailBrandManagerImpl::NewLC( |
154 CFSMailBrandManagerImpl* CFSMailBrandManagerImpl::NewLC( |
161 CFSMailClient& aMailClient ) |
155 CFSMailClient& aMailClient ) |
162 { |
156 { |
163 NM_FUNCTION; |
157 FUNC_LOG; |
164 |
|
165 CFSMailBrandManagerImpl* self = |
158 CFSMailBrandManagerImpl* self = |
166 new( ELeave ) CFSMailBrandManagerImpl( aMailClient ); |
159 new( ELeave ) CFSMailBrandManagerImpl( aMailClient ); |
167 CleanupStack::PushL( self ); |
160 CleanupStack::PushL( self ); |
168 self->ConstructL(); |
161 self->ConstructL(); |
169 return self; |
162 return self; |
172 // ----------------------------------------------------------------------------- |
165 // ----------------------------------------------------------------------------- |
173 // CFSMailBrandManagerImpl::UpdateMailboxNamesL |
166 // CFSMailBrandManagerImpl::UpdateMailboxNamesL |
174 // ----------------------------------------------------------------------------- |
167 // ----------------------------------------------------------------------------- |
175 void CFSMailBrandManagerImpl::UpdateMailboxNamesL( const TFSMailMsgId aMailBoxId ) |
168 void CFSMailBrandManagerImpl::UpdateMailboxNamesL( const TFSMailMsgId aMailBoxId ) |
176 { |
169 { |
177 NM_FUNCTION; |
170 FUNC_LOG; |
178 |
171 |
179 // list all mailboxes |
172 // list all mailboxes |
180 RPointerArray<CFSMailBox> mailBoxes; |
173 RPointerArray<CFSMailBox> mailBoxes; |
181 CleanupResetAndDestroyPushL( mailBoxes ); |
174 CleanupResetAndDestroyPushL( mailBoxes ); |
182 iMailClient.ListMailBoxes( TFSMailMsgId(), mailBoxes ); |
175 iMailClient.ListMailBoxes( TFSMailMsgId(), mailBoxes ); |
222 // ----------------------------------------------------------------------------- |
215 // ----------------------------------------------------------------------------- |
223 CGulIcon* CFSMailBrandManagerImpl::GetGraphicL( |
216 CGulIcon* CFSMailBrandManagerImpl::GetGraphicL( |
224 TFSBrandElement aElement, |
217 TFSBrandElement aElement, |
225 const TFSMailMsgId& aMailboxId ) |
218 const TFSMailMsgId& aMailboxId ) |
226 { |
219 { |
227 NM_FUNCTION; |
220 FUNC_LOG; |
228 |
|
229 CFSMailBox* mailBox( NULL ); |
221 CFSMailBox* mailBox( NULL ); |
230 TRAPD( mailboxError, |
222 TRAPD( mailboxError, |
231 mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ) ); |
223 mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ) ); |
232 if ( mailboxError != KErrNone ) |
224 if ( mailboxError != KErrNone ) |
233 { |
225 { |
253 // ----------------------------------------------------------------------------- |
245 // ----------------------------------------------------------------------------- |
254 CGulIcon* CFSMailBrandManagerImpl::GetGraphicL( |
246 CGulIcon* CFSMailBrandManagerImpl::GetGraphicL( |
255 TFSBrandElement aElement, |
247 TFSBrandElement aElement, |
256 const TDesC& aBrandId ) |
248 const TDesC& aBrandId ) |
257 { |
249 { |
258 NM_FUNCTION; |
250 FUNC_LOG; |
259 |
|
260 CFSMailBrand* brand = FindMatchingBrandL( aBrandId ); |
251 CFSMailBrand* brand = FindMatchingBrandL( aBrandId ); |
261 if ( brand == NULL ) |
252 if ( brand == NULL ) |
262 { |
253 { |
263 return NULL; |
254 return NULL; |
264 } |
255 } |
271 TInt CFSMailBrandManagerImpl::GetGraphicIdsL( |
262 TInt CFSMailBrandManagerImpl::GetGraphicIdsL( |
272 TFSBrandElement aElement, |
263 TFSBrandElement aElement, |
273 const TFSMailMsgId& aMailboxId, |
264 const TFSMailMsgId& aMailboxId, |
274 TDes& aIconIds ) |
265 TDes& aIconIds ) |
275 { |
266 { |
276 NM_FUNCTION; |
267 FUNC_LOG; |
277 |
|
278 CFSMailBox* mailBox( NULL ); |
268 CFSMailBox* mailBox( NULL ); |
279 TRAPD( mailboxError, |
269 TRAPD( mailboxError, |
280 mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ) ); |
270 mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ) ); |
281 if ( mailboxError != KErrNone ) |
271 if ( mailboxError != KErrNone ) |
282 { |
272 { |
303 TInt CFSMailBrandManagerImpl::GetGraphicIdsL( |
293 TInt CFSMailBrandManagerImpl::GetGraphicIdsL( |
304 TFSBrandElement aElement, |
294 TFSBrandElement aElement, |
305 const TDesC& aBrandId, |
295 const TDesC& aBrandId, |
306 TDes& aIconIds ) |
296 TDes& aIconIds ) |
307 { |
297 { |
308 NM_FUNCTION; |
298 FUNC_LOG; |
309 |
299 |
310 CFSMailBrand* brand = FindMatchingBrandL( aBrandId ); |
300 CFSMailBrand* brand = FindMatchingBrandL( aBrandId ); |
311 if ( brand == NULL ) |
301 if ( brand == NULL ) |
312 { |
302 { |
313 return KErrNotFound; |
303 return KErrNotFound; |
320 // ----------------------------------------------------------------------------- |
310 // ----------------------------------------------------------------------------- |
321 TPtrC CFSMailBrandManagerImpl::GetTextL( |
311 TPtrC CFSMailBrandManagerImpl::GetTextL( |
322 TFSBrandElement aElement, |
312 TFSBrandElement aElement, |
323 const TFSMailMsgId& aMailboxId ) |
313 const TFSMailMsgId& aMailboxId ) |
324 { |
314 { |
325 NM_FUNCTION; |
315 FUNC_LOG; |
326 |
|
327 CFSMailBox* mailBox( NULL ); |
316 CFSMailBox* mailBox( NULL ); |
328 TRAPD( mailboxError, |
317 TRAPD( mailboxError, |
329 mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ) ); |
318 mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ) ); |
330 if ( mailboxError != KErrNone ) |
319 if ( mailboxError != KErrNone ) |
331 { |
320 { |
351 // ----------------------------------------------------------------------------- |
340 // ----------------------------------------------------------------------------- |
352 TPtrC CFSMailBrandManagerImpl::GetTextL( |
341 TPtrC CFSMailBrandManagerImpl::GetTextL( |
353 TFSBrandElement aElement, |
342 TFSBrandElement aElement, |
354 const TDesC& aBrandId ) |
343 const TDesC& aBrandId ) |
355 { |
344 { |
356 NM_FUNCTION; |
345 FUNC_LOG; |
357 |
346 |
358 CFSMailBrand* brand = FindMatchingBrandL( aBrandId ); |
347 CFSMailBrand* brand = FindMatchingBrandL( aBrandId ); |
359 if ( brand == NULL ) |
348 if ( brand == NULL ) |
360 { |
349 { |
361 return KNullDesC(); |
350 return KNullDesC(); |
370 TInt CFSMailBrandManagerImpl::GetColorL( |
359 TInt CFSMailBrandManagerImpl::GetColorL( |
371 TFSBrandElement aElement, |
360 TFSBrandElement aElement, |
372 const TFSMailMsgId& aMailboxId, |
361 const TFSMailMsgId& aMailboxId, |
373 TRgb& aColor ) |
362 TRgb& aColor ) |
374 { |
363 { |
375 NM_FUNCTION; |
364 FUNC_LOG; |
376 |
|
377 CFSMailBox* mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ); |
365 CFSMailBox* mailBox = iMailClient.GetMailBoxByUidL( aMailboxId ); |
378 User::LeaveIfNull( mailBox ); |
366 User::LeaveIfNull( mailBox ); |
379 CleanupStack::PushL( mailBox ); |
367 CleanupStack::PushL( mailBox ); |
380 TDesC& brandId = mailBox->GetBrandingIdL(); |
368 TDesC& brandId = mailBox->GetBrandingIdL(); |
381 |
369 |
392 // ----------------------------------------------------------------------------- |
380 // ----------------------------------------------------------------------------- |
393 // CFSMailBrandManagerImpl::ConstructFromResourceL |
381 // CFSMailBrandManagerImpl::ConstructFromResourceL |
394 // ----------------------------------------------------------------------------- |
382 // ----------------------------------------------------------------------------- |
395 void CFSMailBrandManagerImpl::ConstructFromResourceL( TResourceReader& aReader ) |
383 void CFSMailBrandManagerImpl::ConstructFromResourceL( TResourceReader& aReader ) |
396 { |
384 { |
397 NM_FUNCTION; |
385 FUNC_LOG; |
398 |
|
399 iBrands = new ( ELeave ) |
386 iBrands = new ( ELeave ) |
400 CArrayPtrSeg< CFSMailBrand >( KBrandArrayGranularity ); |
387 CArrayPtrSeg< CFSMailBrand >( KBrandArrayGranularity ); |
401 |
388 |
402 // Read White Label Brand from Cenrep |
389 // Read White Label Brand from Cenrep |
403 CFSMailBrand* newBrand = CFSMailBrand::NewLC( aReader, true ); |
390 CFSMailBrand* newBrand = CFSMailBrand::NewLC( aReader, true ); |
419 // ----------------------------------------------------------------------------- |
406 // ----------------------------------------------------------------------------- |
420 // CFSMailBrandManagerImpl::FindMatchingBrandL |
407 // CFSMailBrandManagerImpl::FindMatchingBrandL |
421 // ----------------------------------------------------------------------------- |
408 // ----------------------------------------------------------------------------- |
422 CFSMailBrand* CFSMailBrandManagerImpl::FindMatchingBrandL( const TDesC& aBrandId ) |
409 CFSMailBrand* CFSMailBrandManagerImpl::FindMatchingBrandL( const TDesC& aBrandId ) |
423 { |
410 { |
424 NM_FUNCTION; |
411 FUNC_LOG; |
425 |
|
426 if( aBrandId.Length() ) |
412 if( aBrandId.Length() ) |
427 { |
413 { |
428 TInt brandCount( iBrands->Count() ); |
414 TInt brandCount( iBrands->Count() ); |
429 for ( TInt i( 0 ); i < brandCount; i++ ) |
415 for ( TInt i( 0 ); i < brandCount; i++ ) |
430 { |
416 { |
439 // CFSMailBrandManagerImpl::MailboxMatchingBrandIdL |
425 // CFSMailBrandManagerImpl::MailboxMatchingBrandIdL |
440 // ----------------------------------------------------------------------------- |
426 // ----------------------------------------------------------------------------- |
441 CFSMailBox* CFSMailBrandManagerImpl::MailboxMatchingBrandIdL( |
427 CFSMailBox* CFSMailBrandManagerImpl::MailboxMatchingBrandIdL( |
442 const TDesC& aBrandId ) const |
428 const TDesC& aBrandId ) const |
443 { |
429 { |
444 NM_FUNCTION; |
|
445 |
|
446 RPointerArray<CFSMailBox> mailboxes; |
430 RPointerArray<CFSMailBox> mailboxes; |
447 |
431 |
448 CleanupResetAndDestroyPushL( mailboxes ); |
432 CleanupResetAndDestroyPushL( mailboxes ); |
449 |
433 |
450 iMailClient.ListMailBoxes( TFSMailMsgId(), mailboxes ); |
434 iMailClient.ListMailBoxes( TFSMailMsgId(), mailboxes ); |
482 // ----------------------------------------------------------------------------- |
466 // ----------------------------------------------------------------------------- |
483 // CFSMailBrandManagerImpl::GetMCCValueL |
467 // CFSMailBrandManagerImpl::GetMCCValueL |
484 // ----------------------------------------------------------------------------- |
468 // ----------------------------------------------------------------------------- |
485 void CFSMailBrandManagerImpl::GetMCCValueL( TDes& aMcc ) const |
469 void CFSMailBrandManagerImpl::GetMCCValueL( TDes& aMcc ) const |
486 { |
470 { |
487 NM_FUNCTION; |
|
488 |
|
489 aMcc.Zero(); |
471 aMcc.Zero(); |
490 |
472 |
491 TInt err = KErrNone; |
473 TInt err = KErrNone; |
492 |
474 |
493 #ifndef __WINS__ |
475 #ifndef __WINS__ |
574 // CFSMailBrandManagerImpl::GetMCCValueFromSIML |
556 // CFSMailBrandManagerImpl::GetMCCValueFromSIML |
575 // ---------------------------------------------------------------------------- |
557 // ---------------------------------------------------------------------------- |
576 // |
558 // |
577 void CFSMailBrandManagerImpl::GetMCCValueFromSIML( TDes& aMcc ) const |
559 void CFSMailBrandManagerImpl::GetMCCValueFromSIML( TDes& aMcc ) const |
578 { |
560 { |
579 NM_FUNCTION; |
|
580 |
|
581 RTelServer telServer; |
561 RTelServer telServer; |
582 |
562 |
583 CleanupClosePushL( telServer ); |
563 CleanupClosePushL( telServer ); |
584 |
564 |
585 User::LeaveIfError( telServer.Connect() ); |
565 User::LeaveIfError( telServer.Connect() ); |
616 // CFSMailBrandManagerImpl::GetCurrentCountryL |
596 // CFSMailBrandManagerImpl::GetCurrentCountryL |
617 // ---------------------------------------------------------------------------- |
597 // ---------------------------------------------------------------------------- |
618 // |
598 // |
619 TUint8 CFSMailBrandManagerImpl::GetCurrentCountryL() const |
599 TUint8 CFSMailBrandManagerImpl::GetCurrentCountryL() const |
620 { |
600 { |
621 NM_FUNCTION; |
|
622 |
|
623 CTzLocalizer* localizer = CTzLocalizer::NewLC(); |
601 CTzLocalizer* localizer = CTzLocalizer::NewLC(); |
624 |
602 |
625 CTzLocalizedCity* city = localizer->GetFrequentlyUsedZoneCityL( |
603 CTzLocalizedCity* city = localizer->GetFrequentlyUsedZoneCityL( |
626 CTzLocalizedTimeZone::ECurrentZone ); |
604 CTzLocalizedTimeZone::ECurrentZone ); |
627 |
605 |
644 // CFSMailBrandManagerImpl::VerifyMailAccountName |
622 // CFSMailBrandManagerImpl::VerifyMailAccountName |
645 // ----------------------------------------------------------------------------- |
623 // ----------------------------------------------------------------------------- |
646 void CFSMailBrandManagerImpl::VerifyMailAccountName( |
624 void CFSMailBrandManagerImpl::VerifyMailAccountName( |
647 TPtrC& aBrandedName ) const |
625 TPtrC& aBrandedName ) const |
648 { |
626 { |
649 NM_FUNCTION; |
|
650 |
|
651 // Due to legal reasons we don't show brand name "Gmail" in Germany and UK |
627 // Due to legal reasons we don't show brand name "Gmail" in Germany and UK |
652 if ( !aBrandedName.CompareF( KBrandNameGmail ) ) |
628 if ( !aBrandedName.CompareF( KBrandNameGmail ) ) |
653 { |
629 { |
654 // First check timezone id |
630 // First check timezone id |
655 TUint8 timeZone = 0; |
631 TUint8 timeZone = 0; |