meetingrequest/mrtasks/src/cesmrcombinedtask.cpp
branchRCL_3
changeset 12 4ce476e64c59
parent 0 8466d47a6819
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #include "emailtrace.h"
    19 #include "emailtrace.h"
    20 #include "cesmrcombinedtask.h"
    20 #include "cesmrcombinedtask.h"
    21 #include "mesmrmeetingrequestentry.h"
    21 #include "mesmrcalentry.h"
    22 #include <e32cmn.h>
    22 #include <e32cmn.h>
    23 
    23 
    24 // ======== MEMBER FUNCTIONS ========
    24 // ======== MEMBER FUNCTIONS ========
    25 
    25 
    26 // ---------------------------------------------------------------------------
    26 // ---------------------------------------------------------------------------
    27 // CESMRCombinedTask::CESMRCombinedTask
    27 // CESMRCombinedTask::CESMRCombinedTask
    28 // ---------------------------------------------------------------------------
    28 // ---------------------------------------------------------------------------
    29 //
    29 //
    30 CESMRCombinedTask::CESMRCombinedTask(
    30 CESMRCombinedTask::CESMRCombinedTask(
    31         MESMRCalDbMgr& aCalDbMgr,
    31         MESMRCalEntry& aEntry,
    32         MESMRMeetingRequestEntry& aEntry,
       
    33         CMRMailboxUtils& aMRMailboxUtils,
       
    34         TESMRExecutionRule aRule )
    32         TESMRExecutionRule aRule )
    35 :   CESMRTaskBase( aCalDbMgr, aEntry, aMRMailboxUtils ),
    33 :   iEntry( aEntry ),
    36     iExecutionRule( aRule )
    34     iExecutionRule( aRule )
    37     {
    35     {
    38     FUNC_LOG;
    36     FUNC_LOG;
    39     //do nothing
    37     //do nothing
    40     }
    38     }
    41 
    39 
    42 // ---------------------------------------------------------------------------
    40 // ---------------------------------------------------------------------------
    43 // CESMRCombinedTask::~CESMRCombinedTask
    41 // CESMRCombinedTask::~CESMRCombinedTask
    44 // ---------------------------------------------------------------------------
    42 // ---------------------------------------------------------------------------
    45 //
    43 //
    46 CESMRCombinedTask::~CESMRCombinedTask()
    44 EXPORT_C CESMRCombinedTask::~CESMRCombinedTask()
    47     {
    45     {
    48     FUNC_LOG;
    46     FUNC_LOG;
    49     iTasks.ResetAndDestroy();
    47     iTasks.ResetAndDestroy();
    50     iTasks.Close();
       
    51     }
    48     }
    52 
    49 
    53 // ---------------------------------------------------------------------------
    50 // ---------------------------------------------------------------------------
    54 // CESMRCombinedTask::NewL
    51 // CESMRCombinedTask::NewL
    55 // ---------------------------------------------------------------------------
    52 // ---------------------------------------------------------------------------
    56 //
    53 //
    57 CESMRCombinedTask* CESMRCombinedTask::NewL(
    54 EXPORT_C CESMRCombinedTask* CESMRCombinedTask::NewL(
    58         MESMRCalDbMgr& aCalDbMgr,
    55         MESMRCalEntry& aEntry,
    59         MESMRMeetingRequestEntry& aEntry,
       
    60         CMRMailboxUtils& aMRMailboxUtils,
       
    61         TESMRExecutionRule aRule )
    56         TESMRExecutionRule aRule )
    62     {
    57     {
    63     FUNC_LOG;
    58     FUNC_LOG;
    64     CESMRCombinedTask* self =
    59     CESMRCombinedTask* self =
    65         new (ELeave) CESMRCombinedTask(
    60         new (ELeave) CESMRCombinedTask(
    66             aCalDbMgr,
       
    67             aEntry,
    61             aEntry,
    68             aMRMailboxUtils,
       
    69             aRule );
    62             aRule );
    70 
    63 
    71     CleanupStack::PushL(self);
    64     CleanupStack::PushL(self);
    72     self->ConstructL();
    65     self->ConstructL();
    73     CleanupStack::Pop(self);
    66     CleanupStack::Pop(self);
    79 // ---------------------------------------------------------------------------
    72 // ---------------------------------------------------------------------------
    80 //
    73 //
    81 void CESMRCombinedTask::ConstructL()
    74 void CESMRCombinedTask::ConstructL()
    82     {
    75     {
    83     FUNC_LOG;
    76     FUNC_LOG;
    84     BaseConstructL();
       
    85     }
    77     }
    86 
    78 
    87 // ---------------------------------------------------------------------------
    79 // ---------------------------------------------------------------------------
    88 // CESMRCombinedTask::AppendTaskL
    80 // CESMRCombinedTask::AppendTaskL
    89 // ---------------------------------------------------------------------------
    81 // ---------------------------------------------------------------------------
    90 //
    82 //
    91 void CESMRCombinedTask::AppendTaskL( MESMRTask* aTask )
    83 EXPORT_C void CESMRCombinedTask::AppendTaskL( MESMRTask* aTask )
    92     {
    84     {
    93     FUNC_LOG;
    85     FUNC_LOG;
    94     User::LeaveIfError( iTasks.Append(aTask ) );
    86     iTasks.AppendL( aTask );
    95     }
    87     }
    96 
    88 
    97 // ---------------------------------------------------------------------------
    89 // ---------------------------------------------------------------------------
    98 // CESMRCombinedTask::RemoveTaskL
    90 // CESMRCombinedTask::RemoveTaskL
    99 // ---------------------------------------------------------------------------
    91 // ---------------------------------------------------------------------------
   100 //
    92 //
   101 MESMRTask* CESMRCombinedTask::RemoveTaskL( MESMRTask* aTask )
    93 EXPORT_C MESMRTask* CESMRCombinedTask::RemoveTaskL( MESMRTask* aTask )
   102     {
    94     {
   103     FUNC_LOG;
    95     FUNC_LOG;
   104     TInt index = iTasks.Find( aTask );
    96     TInt index = iTasks.Find( aTask );
   105     if ( KErrNotFound == index )
    97     if ( KErrNotFound == index )
   106         {
    98         {
   122     FUNC_LOG;
   114     FUNC_LOG;
   123 
   115 
   124     TInt err( KErrNone );
   116     TInt err( KErrNone );
   125     TInt taskCount( iTasks.Count() );
   117     TInt taskCount( iTasks.Count() );
   126     
   118     
   127     MESMRMeetingRequestEntry& mrEntry( ESMREntry() );    
   119     if ( iEntry.IsEntryEditedL() )
   128     if ( mrEntry.IsEntryEditedL() )
       
   129         {
   120         {
   130         mrEntry.UpdateTimeStampL();
   121         iEntry.UpdateTimeStampL();
   131         }
   122         }
   132     
   123     
   133     for( TInt i(0); i < taskCount; ++i )
   124     for( TInt i(0); i < taskCount; ++i )
   134         {
   125         {
   135         MESMRTask* task = iTasks[i];
   126         MESMRTask* task = iTasks[i];
   157 
   148 
   158     User::LeaveIfError( err );
   149     User::LeaveIfError( err );
   159 
   150 
   160     }
   151     }
   161 
   152 
       
   153 // ---------------------------------------------------------------------------
       
   154 // AppendTaskL
       
   155 // ---------------------------------------------------------------------------
       
   156 //
       
   157 EXPORT_C void AppendTaskL( CESMRCombinedTask& aContainer, MESMRTask* aTask )
       
   158     {
       
   159     CleanupDeletePushL( aTask );
       
   160     aContainer.AppendTaskL( aTask );
       
   161     CleanupStack::Pop( aTask );
       
   162     }