meetingrequest/mrgui/mrfieldbuilderpluginextension/src/CESMRFieldBuilderPluginExtension.cpp
branchRCL_3
changeset 17 67369d1b217f
parent 16 b5fbb9b25d57
equal deleted inserted replaced
16:b5fbb9b25d57 17:67369d1b217f
    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 ========
    54 // -----------------------------------------------------------------------------
    56 // -----------------------------------------------------------------------------
    55 //
    57 //
    56 CESMRFieldBuilderPluginExtension::~CESMRFieldBuilderPluginExtension()
    58 CESMRFieldBuilderPluginExtension::~CESMRFieldBuilderPluginExtension()
    57     {
    59     {
    58     FUNC_LOG;
    60     FUNC_LOG;
    59     if(iESMRStaticAccessed) 
    61     if(iESMRStaticAccessed)
    60         {
    62         {
    61         iESMRStatic.Close();
    63         iESMRStatic.Close();
    62         }
    64         }
    63     }
    65     }
    64 
    66 
    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         }