meetingrequest/mrentry/inc/cesmrmeetingrequestentry.h
branchRCL_3
changeset 12 4ce476e64c59
parent 1 12c456ceeff2
child 14 b13141f05c3d
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
     1 /*
     1 /*
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2007-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".
    46      * @param aMRMailboxUtils Reference to mailbox utilities
    46      * @param aMRMailboxUtils Reference to mailbox utilities
    47      * @param aCalDb Reference to cal db manager
    47      * @param aCalDb Reference to cal db manager
    48      * @param aConflictsExists ETrue, if conflicts exists
    48      * @param aConflictsExists ETrue, if conflicts exists
    49      * @param aESMRInputParams ESMR input parameters structure
    49      * @param aESMRInputParams ESMR input parameters structure
    50      */
    50      */
    51     static CESMRMeetingRequestEntry* NewL(
    51     IMPORT_C static CESMRMeetingRequestEntry* NewL(
    52             const CCalEntry& aEntry,
    52             const CCalEntry& aEntry,
    53             CMRMailboxUtils& aMRMailboxUtils,
    53             CMRMailboxUtils& aMRMailboxUtils,
    54             MESMRCalDbMgr& aCalDb,
    54             MESMRCalDbMgr& aCalDb,
    55             TBool aConflictsExists,
    55             TBool aConflictsExists,
    56             TESMRInputParams* aESMRInputParams = NULL );
    56             TESMRInputParams* aESMRInputParams = NULL );
    57 
    57 
    58     /**
    58     /**
    59      * C++ destructor
    59      * C++ destructor
    60      */
    60      */
    61     ~CESMRMeetingRequestEntry();
    61     IMPORT_C ~CESMRMeetingRequestEntry();
    62 
    62 
    63 public: // From MESMRMeetingRequestEntry
    63 public: // From MESMRMeetingRequestEntry
    64     TESMRCalEntryType Type() const;
    64     TESMRCalEntryType Type() const;
    65     MESMRCalEntry& MESMRCalEntryRef();
    65     MESMRCalEntry& MESMRCalEntryRef();
    66     const MESMRCalEntry& MESMRCalEntryRef() const;
    66     const MESMRCalEntry& MESMRCalEntryRef() const;
    74             TTime aUntil = Time::NullTTime() );
    74             TTime aUntil = Time::NullTTime() );
    75     void GetRecurrenceL(
    75     void GetRecurrenceL(
    76             TESMRRecurrenceValue& aRecurrence,
    76             TESMRRecurrenceValue& aRecurrence,
    77             TTime& aUntil) const;
    77             TTime& aUntil) const;
    78     TESMRRecurrenceModifyingRule RecurrenceModRule() const;
    78     TESMRRecurrenceModifyingRule RecurrenceModRule() const;
    79     void SetModifyingRuleL(
    79     void SetModifyingRuleL(TESMRRecurrenceModifyingRule aRule, 
    80             TESMRRecurrenceModifyingRule aRule );
    80     		const TBool aTypeChanging = EFalse );
    81     void SetAllDayEventL(
    81     void SetAllDayEventL(
    82             TTime aStartDate,
    82             TTime aStartDate,
    83             TTime aEndDate );
    83             TTime aEndDate );
    84     TBool IsAllDayEventL() const;
    84     TBool IsAllDayEventL() const;
    85     TBool IsStoredL() const;
    85     TBool IsStoredL() const;
    86     TBool IsSentL() const;
    86     TBool IsSentL() const;
    87     TBool IsEntryEditedL() const;
    87     TBool IsEntryEditedL() const;
       
    88     TBool IsEntryTypeChangedL() const;
    88     void GetAlarmL(
    89     void GetAlarmL(
    89             MESMRCalEntry::TESMRAlarmType& aAlarmType,
    90             MESMRCalEntry::TESMRAlarmType& aAlarmType,
    90             TTime &aAlarmTime );
    91             TTime &aAlarmTime );
    91     const CCalEntry& OriginalEntry();
    92     const CCalEntry& OriginalEntry();
       
    93     void UpdateEntryAfterStoringL();
       
    94     void SetDefaultValuesToEntryL();
       
    95     CCalEntry* CloneEntryLC( TESMRCalEntryType aType ) const;
    92     TESMRRole RoleL() const;
    96     TESMRRole RoleL() const;
    93     TBool Conflicts() const;
    97     TBool Conflicts() const;
    94     void MarkMeetingCancelledL();
    98     void MarkMeetingCancelledL();
    95     void ConstructReplyL(
    99     void ConstructReplyL(
    96             TESMRAttendeeStatus aStatus );
   100             TESMRAttendeeStatus aStatus );
   117     TBool StartupParameters(
   121     TBool StartupParameters(
   118             TESMRInputParams& aStarupParams) const;
   122             TESMRInputParams& aStarupParams) const;
   119     TInt AttendeeCountL(
   123     TInt AttendeeCountL(
   120             TUint aFilterFlags ) const;
   124             TUint aFilterFlags ) const;
   121     CCalEntry* RemoveInstanceFromSeriesL();
   125     CCalEntry* RemoveInstanceFromSeriesL();
   122     void SetDefaultValuesToEntryL();
       
   123     TBool IsOpenedFromMail() const;
   126     TBool IsOpenedFromMail() const;
   124     void GetAddedAttendeesL(
   127     void GetAddedAttendeesL(
   125             RArray<CCalAttendee*>& aAttendeeArray,
   128             RArray<CCalAttendee*>& aAttendeeArray,
   126             TUint aFilterFlags ) const;
   129             TUint aFilterFlags ) const;
   127     void GetRemovedAttendeesL(
   130     void GetRemovedAttendeesL(
   128             RArray<CCalAttendee*>& aAttendeeArray,
   131             RArray<CCalAttendee*>& aAttendeeArray,
   129             TUint aFilterFlags ) const;
   132             TUint aFilterFlags ) const;
   130     void UpdateEntryAfterStoringL();
       
   131     void UpdateChildEntriesSeqNumbersL();
   133     void UpdateChildEntriesSeqNumbersL();
   132     TESMRMailPlugin CurrentPluginL();
   134     TESMRMailPlugin CurrentPluginL();
   133     TFSMailMsgId CurrentMailBoxIdL();
       
   134     void UpdateTimeStampL();
   135     void UpdateTimeStampL();
   135     TBool AnyInstanceOnDayL(
   136     TBool AnyInstancesBetweenTimePeriodL(
   136                 TTime& aStart,
   137                 TTime& aStart,
   137                 TTime& aEnd );    
   138                 TTime& aEnd );
       
   139     void GetFirstInstanceStartAndEndTimeL(
       
   140                 TTime& aStart,
       
   141                 TTime& aEnd );
       
   142     const TDesC& CalendarOwnerAddressL() const;
       
   143     CMRMailboxUtils& MailboxUtils() const;
       
   144     void UpdateComparativeEntry(
       
   145             CCalEntry* aNewComparativeEntry );
       
   146     MESMRCalDbMgr& GetDBMgr();
       
   147     TBool SupportsCapabilityL( 
       
   148             MESMRCalEntry::TMREntryCapability aCapability ) const;
       
   149     TBool ContainsRemoteAttachmentsL();    
       
   150     TBool SendCanellationAvailable();
       
   151     void SetSendCanellationAvailable (TBool aSendCanellation);
       
   152     void SetTypeChanged( TBool aTypeChanged );
   138     
   153     
   139 private: // Implementaton
   154 private: // Implementaton
   140     CESMRMeetingRequestEntry(
   155     CESMRMeetingRequestEntry(
   141             CMRMailboxUtils& aMRMailboxUtils,
   156             CMRMailboxUtils& aMRMailboxUtils,
   142             MESMRCalDbMgr& aCalDb,
   157             MESMRCalDbMgr& aCalDb,
   143             TBool aConflictsExists,
   158             TBool aConflictsExists,
   144             TESMRInputParams* aESMRInputParams );
   159             TESMRInputParams* aESMRInputParams );
   145     void ConstructL(
   160     void ConstructL(
   146             const CCalEntry& aEntry );
   161             const CCalEntry& aEntry );
   147     HBufC* ReplaceCharactersFromBufferLC(
   162     HBufC* ReplaceCharactersFromBufferLC(
   148     		const TDesC& aTarget, 
   163             const TDesC& aTarget,
   149             const TDesC& aFindString, 
   164             const TDesC& aFindString,
   150             const TDesC& aReplacement );
   165             const TDesC& aReplacement );
   151 
   166 
   152 private: // Data
   167 private: // Data
   153     /// Own: Calendar entry
   168     /// Own: Calendar entry
   154     CCalEntry* iEntry;
   169     CCalEntry* iEntry;
   155     CCalEntry* iBackupEntry;
       
   156     /// Own: Forward calendar entry
   170     /// Own: Forward calendar entry
   157     CCalEntry* iForwardEntry;
   171     CCalEntry* iForwardEntry;
   158     /// Ref: Reference to mailbox utilities
   172     /// Ref: Reference to mailbox utilities
   159     CMRMailboxUtils& iMRMailboxUtils;
   173     CMRMailboxUtils& iMRMailboxUtils;
   160     /// Own: Flag indicating, whether conflicts exists
   174     /// Own: Flag indicating, whether conflicts exists
   165     TESMRRecurrenceModifyingRule iRecurrenceModRule;
   179     TESMRRecurrenceModifyingRule iRecurrenceModRule;
   166     /// Ref: ESMR input parameters
   180     /// Ref: ESMR input parameters
   167     TESMRInputParams* iESMRInputParams;
   181     TESMRInputParams* iESMRInputParams;
   168     /// Own: Orginal entry
   182     /// Own: Orginal entry
   169     CCalEntry* iOrginalEntry;
   183     CCalEntry* iOrginalEntry;
   170     /// Ref: Entry received as parameter
   184     /// Own: Entry received as parameter
   171     CCalEntry* iParameterEntry;
   185     CCalEntry* iParameterEntry;
   172     /// Own: Current FS Email plug-in
   186     /// Own: Current FS Email plug-in
   173     TESMRMailPlugin iCurrentFSEmailPlugin;
   187     TESMRMailPlugin iCurrentFSEmailPlugin;
       
   188     /// Flag for removing attachments
       
   189     TBool iRemoveAttachments;
       
   190     /// Flag for send canellation
       
   191     TBool iSendCanellation;
       
   192     // Own: Indicates if the entry is type changed or not
       
   193     TBool iTypeChanged;
   174     };
   194     };
   175 
   195 
   176 #endif // CESMRMEETINGREQUESTENTRY_H
   196 #endif // CESMRMEETINGREQUESTENTRY_H
   177 
   197 
   178 // EOF
   198 // EOF