meetingrequest/mrgui/mrfieldbuilderpluginextension/src/CESMRFieldBuilderPluginExtension.cpp
branchRCL_3
changeset 17 67369d1b217f
parent 16 b5fbb9b25d57
--- a/meetingrequest/mrgui/mrfieldbuilderpluginextension/src/CESMRFieldBuilderPluginExtension.cpp	Tue May 11 15:57:15 2010 +0300
+++ b/meetingrequest/mrgui/mrfieldbuilderpluginextension/src/CESMRFieldBuilderPluginExtension.cpp	Tue May 25 12:23:16 2010 +0300
@@ -32,6 +32,8 @@
 #include "cfsmailcommon.h"
 
 #include <CalenInterimUtils2.h>
+#include <featdiscovery.h>
+#include <bldvariant.hrh>
 
 // DEBUG
 #include "emailtrace.h"
@@ -56,7 +58,7 @@
 CESMRFieldBuilderPluginExtension::~CESMRFieldBuilderPluginExtension()
     {
     FUNC_LOG;
-    if(iESMRStaticAccessed) 
+    if(iESMRStaticAccessed)
         {
         iESMRStatic.Close();
         }
@@ -81,7 +83,7 @@
         TMRCFSMailBoxCapability aCapa )
     {
     FUNC_LOG;
-    
+
     iESMRStatic.ConnectL();
     iESMRStaticAccessed = ETrue;
 
@@ -97,14 +99,14 @@
             TMRCFSMailBoxCapability aCapa )
     {
     FUNC_LOG;
-        
+
     iESMRStatic.ConnectL();
     iESMRStaticAccessed = ETrue;
 
     CFSMailBox* mailBox = iESMRStatic.MailBoxL( aEmailAddress );
     TBool result = HasCapability( *mailBox, aCapa );
     delete mailBox;
-    
+
     return result;
     }
 
@@ -117,26 +119,29 @@
     FUNC_LOG;
     TBool retValue( EFalse );
 
-    iESMRStatic.ConnectL();
-    iESMRStaticAccessed = ETrue;
+    if ( CFeatureDiscovery::IsFeatureSupportedL(
+            TUid::Uid( KFeatureIdFfCalMeetingRequestUi ) ) )
+        {
+        iESMRStatic.ConnectL();
+        iESMRStaticAccessed = ETrue;
 
-    CCalenInterimUtils2* calUtils2 = CCalenInterimUtils2::NewL();
-    CleanupStack::PushL( calUtils2 );
-    if ( calUtils2->MRViewersEnabledL() )
-        {
-        TRAPD( err, iESMRStatic.DefaultFSMailBoxL() );
+        CCalenInterimUtils2* calUtils2 = CCalenInterimUtils2::NewL();
+        CleanupStack::PushL( calUtils2 );
+        if ( calUtils2->MRViewersEnabledL() )
+            {
+            TRAPD( err, iESMRStatic.DefaultFSMailBoxL() );
 
-        if ( KErrNone == err )
-            {
-            // If can fetch the default FS mailbox -->
-            // We are able to originate MR as well.
-            retValue = ETrue;
+            if ( KErrNone == err )
+                {
+                // If can fetch the default FS mailbox -->
+                // We are able to originate MR as well.
+                retValue = ETrue;
+                }
             }
+
+        CleanupStack::PopAndDestroy( calUtils2 );
+        calUtils2 = NULL;
         }
-
-    CleanupStack::PopAndDestroy( calUtils2 );
-    calUtils2 = NULL;
-
     return retValue;
     }
 
@@ -285,19 +290,19 @@
                     EFSMBoxCapaMeetingRequestAttendeeStatus );
             break;
             }
-            
+
         case EMRCFSRemoveFromCalendar:
             {
             response = aMailBox.HasCapability( EFSMBoxCapaRemoveFromCalendar );
             break;
             }
-            
+
         case EMRCFSSupportsAttachmentsInMR:
             {
             response = aMailBox.HasCapability( EFSMboxCapaSupportsAttahmentsInMR );
             }
             break;
-            
+
         default:
             {
             break;