30 #include "cesmrviewerfromfield.h" |
30 #include "cesmrviewerfromfield.h" |
31 #include "cesmrfieldbuilderinterface.h" |
31 #include "cesmrfieldbuilderinterface.h" |
32 #include "cfsmailcommon.h" |
32 #include "cfsmailcommon.h" |
33 |
33 |
34 #include <CalenInterimUtils2.h> |
34 #include <CalenInterimUtils2.h> |
|
35 #include <featdiscovery.h> |
|
36 #include <bldvariant.hrh> |
35 |
37 |
36 // DEBUG |
38 // DEBUG |
37 #include "emailtrace.h" |
39 #include "emailtrace.h" |
38 |
40 |
39 // ======== MEMBER FUNCTIONS ======== |
41 // ======== MEMBER FUNCTIONS ======== |
79 // |
81 // |
80 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
82 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
81 TMRCFSMailBoxCapability aCapa ) |
83 TMRCFSMailBoxCapability aCapa ) |
82 { |
84 { |
83 FUNC_LOG; |
85 FUNC_LOG; |
84 |
86 |
85 iESMRStatic.ConnectL(); |
87 iESMRStatic.ConnectL(); |
86 iESMRStaticAccessed = ETrue; |
88 iESMRStaticAccessed = ETrue; |
87 |
89 |
88 return HasCapability( iESMRStatic.DefaultFSMailBoxL(), aCapa ); |
90 return HasCapability( iESMRStatic.DefaultFSMailBoxL(), aCapa ); |
89 } |
91 } |
95 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
97 TBool CESMRFieldBuilderPluginExtension::CFSMailBoxCapabilityL( |
96 const TDesC& aEmailAddress, |
98 const TDesC& aEmailAddress, |
97 TMRCFSMailBoxCapability aCapa ) |
99 TMRCFSMailBoxCapability aCapa ) |
98 { |
100 { |
99 FUNC_LOG; |
101 FUNC_LOG; |
100 |
102 |
101 iESMRStatic.ConnectL(); |
103 iESMRStatic.ConnectL(); |
102 iESMRStaticAccessed = ETrue; |
104 iESMRStaticAccessed = ETrue; |
103 |
105 |
104 CFSMailBox* mailBox = iESMRStatic.MailBoxL( aEmailAddress ); |
106 CFSMailBox* mailBox = iESMRStatic.MailBoxL( aEmailAddress ); |
105 TBool result = HasCapability( *mailBox, aCapa ); |
107 TBool result = HasCapability( *mailBox, aCapa ); |
106 delete mailBox; |
108 delete mailBox; |
107 |
109 |
108 return result; |
110 return result; |
109 } |
111 } |
110 |
112 |
111 // ---------------------------------------------------------------------------- |
113 // ---------------------------------------------------------------------------- |
112 // CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL |
114 // CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL |
115 TBool CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL() |
117 TBool CESMRFieldBuilderPluginExtension::MRCanBeOriginateedL() |
116 { |
118 { |
117 FUNC_LOG; |
119 FUNC_LOG; |
118 TBool retValue( EFalse ); |
120 TBool retValue( EFalse ); |
119 |
121 |
120 iESMRStatic.ConnectL(); |
122 if ( CFeatureDiscovery::IsFeatureSupportedL( |
121 iESMRStaticAccessed = ETrue; |
123 TUid::Uid( KFeatureIdFfCalMeetingRequestUi ) ) ) |
122 |
124 { |
123 CCalenInterimUtils2* calUtils2 = CCalenInterimUtils2::NewL(); |
125 iESMRStatic.ConnectL(); |
124 CleanupStack::PushL( calUtils2 ); |
126 iESMRStaticAccessed = ETrue; |
125 if ( calUtils2->MRViewersEnabledL() ) |
127 |
126 { |
128 CCalenInterimUtils2* calUtils2 = CCalenInterimUtils2::NewL(); |
127 TRAPD( err, iESMRStatic.DefaultFSMailBoxL() ); |
129 CleanupStack::PushL( calUtils2 ); |
128 |
130 if ( calUtils2->MRViewersEnabledL() ) |
129 if ( KErrNone == err ) |
131 { |
130 { |
132 TRAPD( err, iESMRStatic.DefaultFSMailBoxL() ); |
131 // If can fetch the default FS mailbox --> |
133 |
132 // We are able to originate MR as well. |
134 if ( KErrNone == err ) |
133 retValue = ETrue; |
135 { |
134 } |
136 // If can fetch the default FS mailbox --> |
135 } |
137 // We are able to originate MR as well. |
136 |
138 retValue = ETrue; |
137 CleanupStack::PopAndDestroy( calUtils2 ); |
139 } |
138 calUtils2 = NULL; |
140 } |
139 |
141 |
|
142 CleanupStack::PopAndDestroy( calUtils2 ); |
|
143 calUtils2 = NULL; |
|
144 } |
140 return retValue; |
145 return retValue; |
141 } |
146 } |
142 |
147 |
143 // ----------------------------------------------------------------------------- |
148 // ----------------------------------------------------------------------------- |
144 // CESMRFieldBuilderPluginExtension::NewL |
149 // CESMRFieldBuilderPluginExtension::NewL |
283 { |
288 { |
284 response = aMailBox.HasCapability( |
289 response = aMailBox.HasCapability( |
285 EFSMBoxCapaMeetingRequestAttendeeStatus ); |
290 EFSMBoxCapaMeetingRequestAttendeeStatus ); |
286 break; |
291 break; |
287 } |
292 } |
288 |
293 |
289 case EMRCFSRemoveFromCalendar: |
294 case EMRCFSRemoveFromCalendar: |
290 { |
295 { |
291 response = aMailBox.HasCapability( EFSMBoxCapaRemoveFromCalendar ); |
296 response = aMailBox.HasCapability( EFSMBoxCapaRemoveFromCalendar ); |
292 break; |
297 break; |
293 } |
298 } |
294 |
299 |
295 case EMRCFSSupportsAttachmentsInMR: |
300 case EMRCFSSupportsAttachmentsInMR: |
296 { |
301 { |
297 response = aMailBox.HasCapability( EFSMboxCapaSupportsAttahmentsInMR ); |
302 response = aMailBox.HasCapability( EFSMboxCapaSupportsAttahmentsInMR ); |
298 } |
303 } |
299 break; |
304 break; |
300 |
305 |
301 default: |
306 default: |
302 { |
307 { |
303 break; |
308 break; |
304 } |
309 } |
305 } |
310 } |