1 /* |
1 /* |
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
23 #include "tesmrentryfield.h" |
23 #include "tesmrentryfield.h" |
24 #include "mesmrresponseobserver.h" |
24 #include "mesmrresponseobserver.h" |
25 #include "cesmrattendeefield.h" |
25 #include "cesmrattendeefield.h" |
26 #include "cesmrtrackingfieldlabel.h" |
26 #include "cesmrtrackingfieldlabel.h" |
27 #include "cesmrtrackstatus.h" |
27 #include "cesmrtrackstatus.h" |
28 #include "cesmrviewerattachmentsfield.h" |
|
29 #include "cesmrviewerattendeesfield.h" |
28 #include "cesmrviewerattendeesfield.h" |
30 #include "cesmrresponsefield.h" |
29 #include "cesmrresponsefield.h" |
31 #include "cesmrresponsereadyfield.h" |
|
32 #include "cesmrviewerfromfield.h" |
30 #include "cesmrviewerfromfield.h" |
33 |
31 #include "cesmrfieldbuilderinterface.h" |
34 #include <CalenInterimUtils2.h> |
32 #include "CFSMailCommon.h" |
|
33 |
|
34 #include <caleninterimutils2.h> |
35 |
35 |
36 // DEBUG |
36 // DEBUG |
37 #include "emailtrace.h" |
37 #include "emailtrace.h" |
38 |
38 |
39 // ======== MEMBER FUNCTIONS ======== |
39 // ======== MEMBER FUNCTIONS ======== |
72 MESMRBuilderExtension* capa = static_cast<MESMRBuilderExtension*>( this ); |
72 MESMRBuilderExtension* capa = static_cast<MESMRBuilderExtension*>( this ); |
73 return capa; |
73 return capa; |
74 } |
74 } |
75 |
75 |
76 // ---------------------------------------------------------------------------- |
76 // ---------------------------------------------------------------------------- |
77 // CESMRFieldBuilderPluginExtension::ExtensionL |
77 // CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL |
78 // ---------------------------------------------------------------------------- |
78 // ---------------------------------------------------------------------------- |
79 // |
79 // |
80 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
80 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
81 EMRCFSMailBoxCapability aCapa ) |
81 TMRCFSMailBoxCapability aCapa ) |
82 { |
82 { |
83 FUNC_LOG; |
83 FUNC_LOG; |
|
84 |
84 iESMRStatic.ConnectL(); |
85 iESMRStatic.ConnectL(); |
85 iESMRStaticAccessed = ETrue; |
86 iESMRStaticAccessed = ETrue; |
86 |
87 |
87 TBool response(EFalse); |
88 return HasCapability( iESMRStatic.DefaultFSMailBoxL(), aCapa ); |
88 |
89 } |
89 if (aCapa == EMRCFSAttendeeStatus) |
90 |
90 { |
91 // ---------------------------------------------------------------------------- |
91 response = iESMRStatic.DefaultFSMailBoxL().HasCapability( |
92 // CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL |
92 EFSMBoxCapaMeetingRequestAttendeeStatus ); |
93 // ---------------------------------------------------------------------------- |
93 } |
94 // |
94 |
95 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
95 return response; |
96 const TDesC& aEmailAddress, |
|
97 TMRCFSMailBoxCapability aCapa ) |
|
98 { |
|
99 FUNC_LOG; |
|
100 |
|
101 iESMRStatic.ConnectL(); |
|
102 iESMRStaticAccessed = ETrue; |
|
103 |
|
104 CFSMailBox* mailBox = iESMRStatic.MailBoxL( aEmailAddress ); |
|
105 TBool result = HasCapability( *mailBox, aCapa ); |
|
106 delete mailBox; |
|
107 |
|
108 return result; |
96 } |
109 } |
97 |
110 |
98 // ---------------------------------------------------------------------------- |
111 // ---------------------------------------------------------------------------- |
99 // CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL |
112 // CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL |
100 // ---------------------------------------------------------------------------- |
113 // ---------------------------------------------------------------------------- |
101 // |
114 // |
102 TBool CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL( |
115 TBool CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL() |
103 TBool aForceResetDefaultMRMailbox ) |
|
104 { |
116 { |
105 FUNC_LOG; |
117 FUNC_LOG; |
106 TBool retValue( EFalse ); |
118 TBool retValue( EFalse ); |
107 |
119 |
108 iESMRStatic.ConnectL(); |
120 iESMRStatic.ConnectL(); |
110 |
122 |
111 CCalenInterimUtils2* calUtils2 = CCalenInterimUtils2::NewL(); |
123 CCalenInterimUtils2* calUtils2 = CCalenInterimUtils2::NewL(); |
112 CleanupStack::PushL( calUtils2 ); |
124 CleanupStack::PushL( calUtils2 ); |
113 if ( calUtils2->MRViewersEnabledL() ) |
125 if ( calUtils2->MRViewersEnabledL() ) |
114 { |
126 { |
115 TRAPD( err, |
127 TRAPD( err, iESMRStatic.DefaultFSMailBoxL() ); |
116 iESMRStatic.DefaultFSMailBoxL( aForceResetDefaultMRMailbox ) ); |
|
117 |
128 |
118 if ( KErrNone == err ) |
129 if ( KErrNone == err ) |
119 { |
130 { |
120 // If can fetch the default FS mailbox --> |
131 // If can fetch the default FS mailbox --> |
121 // We are able to originate MR as well. |
132 // We are able to originate MR as well. |
260 // Set field mode |
264 // Set field mode |
261 field->SetFieldMode( EESMRFieldModeView ); |
265 field->SetFieldMode( EESMRFieldModeView ); |
262 |
266 |
263 return field; |
267 return field; |
264 } |
268 } |
|
269 |
|
270 // ----------------------------------------------------------------------------- |
|
271 // CESMRFieldBuilderPluginExtension::HasCapability |
|
272 // ----------------------------------------------------------------------------- |
|
273 // |
|
274 TBool CESMRFieldBuilderPluginExtension::HasCapability( |
|
275 const CFSMailBox& aMailBox, |
|
276 MESMRBuilderExtension::TMRCFSMailBoxCapability aCapability ) const |
|
277 { |
|
278 TBool response(EFalse); |
|
279 |
|
280 switch ( aCapability ) |
|
281 { |
|
282 case EMRCFSAttendeeStatus: |
|
283 { |
|
284 response = aMailBox.HasCapability( |
|
285 EFSMBoxCapaMeetingRequestAttendeeStatus ); |
|
286 break; |
|
287 } |
|
288 |
|
289 case EMRCFSRemoveFromCalendar: |
|
290 { |
|
291 response = aMailBox.HasCapability( EFSMBoxCapaRemoveFromCalendar ); |
|
292 break; |
|
293 } |
|
294 |
|
295 case EMRCFSSupportsAttachmentsInMR: |
|
296 { |
|
297 response = aMailBox.HasCapability( EFSMboxCapaSupportsAttahmentsInMR ); |
|
298 } |
|
299 break; |
|
300 |
|
301 default: |
|
302 { |
|
303 break; |
|
304 } |
|
305 } |
|
306 |
|
307 return response; |
|
308 } |
|
309 |
265 //EOF |
310 //EOF |
266 |
311 |