meetingrequest/mrgui/inc/cesmrfieldbuilderinterface.h
branchRCL_3
changeset 12 4ce476e64c59
parent 4 e7aa27f58ae1
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
     1 /*
     1 /*
     2 * Copyright (c)  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".
    14 * Description:  Definition for GUI extension interface
    14 * Description:  Definition for GUI extension interface
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #ifndef CESMRFIELDBUILDERINTERFACE
    19 #ifndef CESMRFIELDBUILDERINTERFACE_H
    20 #define CESMRFIELDBUILDERINTERFACE
    20 #define CESMRFIELDBUILDERINTERFACE_H
    21 
    21 
    22 #include <ecom/ecom.h>
    22 #include <ecom/ecom.h>
    23 
    23 
    24 #include "esmrinternaluid.h"
    24 #include "esmrinternaluid.h"
    25 #include "mesmrfieldvalidator.h"
    25 #include "mesmrfieldvalidator.h"
    66 
    66 
    67 public:
    67 public:
    68     /**
    68     /**
    69      * Put additional flags/checks here if needed
    69      * Put additional flags/checks here if needed
    70      */
    70      */
    71     enum EMRCFSMailBoxCapability
    71     enum TMRCFSMailBoxCapability
    72         {
    72         {
    73         EMRCFSAttendeeStatus = 0,
    73         EMRCFSAttendeeStatus = 0,
    74         EMRCFSResponseDontSend
    74         EMRCFSResponseDontSend,
       
    75         EMRCFSRemoveFromCalendar,
       
    76         EMRCFSSupportsAttachmentsInMR
    75         };
    77         };
    76 
    78 
    77     /**
    79     /**
    78      * check if a cfsmailboxflag is set
    80      * Check if a cfsmailboxflag is set
    79      */
    81      */
    80     virtual TBool CFSMailBoxCapabilityL( EMRCFSMailBoxCapability aCapa ) = 0;
    82     virtual TBool CFSMailBoxCapabilityL( TMRCFSMailBoxCapability aCapa ) = 0;
    81 
    83 
    82     /**
    84     /**
       
    85      * Check if a cfsmailboxflag is set
       
    86      */
       
    87     virtual TBool CFSMailBoxCapabilityL(
       
    88             const TDesC& aEmailAddress,
       
    89             TMRCFSMailBoxCapability aCapa ) = 0;
       
    90     
       
    91     /**
    83      * Checks, whenter meeting request can be originated or not.
    92      * Checks, whenter meeting request can be originated or not.
    84      * @param aForceResetDefaultMRMailbox Whether or not the default MR 
       
    85      * *      mailbox is to be forced to reset.
       
    86      * @return ETrue, if MR can be originated, EFalse otherwise.
    93      * @return ETrue, if MR can be originated, EFalse otherwise.
    87      */
    94      */
    88     virtual TBool MRCanBeOriginateedL( TBool aForceResetDefaultMRMailbox ) = 0;
    95     virtual TBool MRCanBeOriginateedL() = 0;
    89     };
    96     };
    90 
    97 
    91 /**
    98 /**
    92  *  MESMRFieldBuilder is the interface of the field builder composite.
    99  *  MESMRFieldBuilder is the interface of the field builder composite.
    93  *  All field builder implementations will return only this
   100  *  All field builder implementations will return only this
    96     {
   103     {
    97 public:
   104 public:
    98     /**
   105     /**
    99      * Create specific implementation
   106      * Create specific implementation
   100      */
   107      */
   101     inline static CESMRFieldBuilderInterface* CreatePluginL( TUid aImplementationUid );
   108     inline static CESMRFieldBuilderInterface* CreatePluginL(
       
   109             TUid aImplementationUid );
   102 
   110 
   103     /**
   111     /**
   104      * Destructor
   112      * Destructor
   105      */
   113      */
   106     inline virtual ~CESMRFieldBuilderInterface();
   114     inline virtual ~CESMRFieldBuilderInterface();
   122 
   130 
   123 // -----------------------------------------------------------------------------
   131 // -----------------------------------------------------------------------------
   124 // CESMRFieldBuilderInterface::CreatePluginL
   132 // CESMRFieldBuilderInterface::CreatePluginL
   125 // -----------------------------------------------------------------------------
   133 // -----------------------------------------------------------------------------
   126 //
   134 //
   127 inline CESMRFieldBuilderInterface* CESMRFieldBuilderInterface::CreatePluginL(  TUid aImplementationUid )
   135 inline CESMRFieldBuilderInterface* CESMRFieldBuilderInterface::CreatePluginL(
       
   136         TUid aImplementationUid )
   128     {
   137     {
   129     TAny* implementation = REComSession::CreateImplementationL( aImplementationUid,
   138     TAny* implementation =
   130                                                                 _FOFF(CESMRFieldBuilderInterface, iDestructorIdKey) );
   139         REComSession::CreateImplementationL( aImplementationUid,
       
   140                                              _FOFF( CESMRFieldBuilderInterface,
       
   141                                                     iDestructorIdKey ) );
   131     return reinterpret_cast<CESMRFieldBuilderInterface*>(implementation);
   142     return reinterpret_cast<CESMRFieldBuilderInterface*>(implementation);
   132     }
   143     }
   133 
   144 
   134 // -----------------------------------------------------------------------------
   145 // -----------------------------------------------------------------------------
   135 // CESMRFieldBuilderInterface::~CESMRFieldBuilderInterface
   146 // CESMRFieldBuilderInterface::~CESMRFieldBuilderInterface
   139     {
   150     {
   140     REComSession::DestroyedImplementation( iDestructorIdKey );
   151     REComSession::DestroyedImplementation( iDestructorIdKey );
   141     }
   152     }
   142 
   153 
   143 
   154 
   144 #endif // CESMRFIELDBUILDERINTERFACE
   155 #endif // CESMRFIELDBUILDERINTERFACE_H