meetingrequest/mrentry/inc/mesmrmeetingrequestentry.h
branchRCL_3
changeset 12 4ce476e64c59
parent 8 e1b6206813b4
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".
    17 
    17 
    18 
    18 
    19 #ifndef MESMRMEETINGREQUESTENTRY_H
    19 #ifndef MESMRMEETINGREQUESTENTRY_H
    20 #define MESMRMEETINGREQUESTENTRY_H
    20 #define MESMRMEETINGREQUESTENTRY_H
    21 
    21 
    22 #include "cfsmailcommon.h"
    22 //<cmail>
    23 #include "mesmrcalentry.h"
    23 #include "mesmrcalentry.h"
    24 #include "esmrdef.h"
    24 #include "esmrdef.h"
       
    25 //</cmail>
    25 
    26 
    26 class CCalAttendee;
    27 class CCalAttendee;
    27 class MMRInfoObject;
    28 class MMRInfoObject;
    28 class TESMRInputParams;
    29 class TESMRInputParams;
       
    30 class CMRMailboxUtils;
    29 
    31 
    30 /**
    32 /**
    31  * MESMRCalEntry provides utility functions for handling MR Entry.
    33  * MESMRCalEntry provides utility functions for handling MR Entry.
    32  *
    34  *
    33  * @lib esmrservices.lib
    35  * @lib esmrservices.lib
    55     virtual ~MESMRMeetingRequestEntry() { }
    57     virtual ~MESMRMeetingRequestEntry() { }
    56 
    58 
    57 public:
    59 public:
    58 
    60 
    59     /**
    61     /**
       
    62      * Tests whether entry is sent or not
       
    63      */
       
    64     virtual TBool IsSentL() const = 0;
       
    65     
       
    66     /**
    60      * Fetches the phone owner's role in this calendar entry.
    67      * Fetches the phone owner's role in this calendar entry.
    61      * @return User role.
    68      * @return User role.
    62      * @see TESMRRole.
    69      * @see TESMRRole.
    63      */
    70      */
    64     virtual TESMRRole RoleL() const = 0;
    71     virtual TESMRRole RoleL() const = 0;
   161     virtual void GetAttendeesL(
   168     virtual void GetAttendeesL(
   162             RArray<CCalAttendee*>& aAttendeeArray,
   169             RArray<CCalAttendee*>& aAttendeeArray,
   163             TUint aFilterFlags ) const = 0;
   170             TUint aFilterFlags ) const = 0;
   164 
   171 
   165     /**
   172     /**
   166      * Fetches validated entry. Ownership is transferred to caller.
       
   167      * @return Pointer to validated entry.
       
   168      */
       
   169     virtual CCalEntry* ValidateEntryL() = 0;
       
   170 
       
   171     /**
       
   172     * Fetches the conflicting entries. Conflicting entries are added
   173     * Fetches the conflicting entries. Conflicting entries are added
   173     * to aEntryArray.
   174     * to aEntryArray.
   174     * @param aEntryArray Array containing conflicting entries
   175     * @param aEntryArray Array containing conflicting entries
   175     * @return KErrNotFound if no conflicting entries, KErrNone otherwise.
   176     * @return KErrNotFound if no conflicting entries, KErrNone otherwise.
   176     */
   177     */
   213      *
   214      *
   214      * @return Attendee count
   215      * @return Attendee count
   215      */
   216      */
   216     virtual TInt AttendeeCountL(
   217     virtual TInt AttendeeCountL(
   217             TUint aFilterFlags ) const = 0;
   218             TUint aFilterFlags ) const = 0;
   218 
       
   219     /**
       
   220      * For recurrent event method removes this from the series.
       
   221      * Entry needs to be recurrent event and modification rule
       
   222      * needs to be MESMRCalEntry::EESMRThisOnly.
       
   223      * Ownership of the returned calendar entry is transferred to caller.
       
   224      *
       
   225      * @return Parent entry
       
   226      */
       
   227     virtual CCalEntry* RemoveInstanceFromSeriesL() = 0;
       
   228 
       
   229     /**
       
   230      * Sets default values to entry.
       
   231      */
       
   232     virtual void SetDefaultValuesToEntryL() = 0;
       
   233 
   219 
   234     /**
   220     /**
   235      * Tests, if entry is opened from mail.
   221      * Tests, if entry is opened from mail.
   236      * @return ETrue if entry is opened from mail.
   222      * @return ETrue if entry is opened from mail.
   237      */
   223      */
   266     virtual void GetRemovedAttendeesL(
   252     virtual void GetRemovedAttendeesL(
   267             RArray<CCalAttendee*>& aAttendeeArray,
   253             RArray<CCalAttendee*>& aAttendeeArray,
   268             TUint aFilterFlags ) const = 0;
   254             TUint aFilterFlags ) const = 0;
   269 
   255 
   270     /**
   256     /**
   271      * Updates the entry after storing
       
   272      */
       
   273     virtual void UpdateEntryAfterStoringL() = 0;
       
   274     
       
   275     /**
       
   276      * Updates child entries sequence numbers and stores them to
   257      * Updates child entries sequence numbers and stores them to
   277      * calendar DB.
   258      * calendar DB.
   278      */
   259      */
   279     virtual void UpdateChildEntriesSeqNumbersL() = 0;
   260     virtual void UpdateChildEntriesSeqNumbersL() = 0;
   280     
   261 
   281     /**
   262     /**
   282      * Resolves current plugin in use.
   263      * Resolves current plugin in use.
   283      * @return current plug-in in use.
   264      * @return current plug-in in use.
   284      */
   265      */
   285     virtual TESMRMailPlugin CurrentPluginL() = 0;
   266     virtual TESMRMailPlugin CurrentPluginL() = 0;
   286 
   267 
   287     /**
       
   288      * Resolves current message box Id.
       
   289      * @return current message box Id.
       
   290      */
       
   291     virtual TFSMailMsgId CurrentMailBoxIdL() = 0;
       
   292     
       
   293     /**
       
   294      * Updates entry's timestamp (DTSTAMP) information.
       
   295      */
       
   296     virtual void UpdateTimeStampL() = 0;
       
   297     
       
   298     /**
   268     /**
   299      * Checks if any instance (having same UID)
   269      * Checks if any instance (having same UID)
   300      * occurs between specified time. Time information
   270      * occurs between specified time. Time information
   301      * is considered to be device's local time.
   271      * is considered to be device's local time.
   302      * 
   272      *
   303      * @param aStart Start time
   273      * @param aStart Start time
   304      * @param aEnd End time
   274      * @param aEnd End time
   305      */
   275      */
   306     virtual TBool AnyInstanceOnDayL(
   276     virtual TBool AnyInstancesBetweenTimePeriodL(
   307             TTime& aStart,
   277             TTime& aStart,
   308             TTime& aEnd ) = 0;
   278             TTime& aEnd ) = 0;
       
   279 
       
   280     /**
       
   281      * Fetches first instances start and end time. For non-recurrent
       
   282      * entries this returns the entry's start and end time.
       
   283      *
       
   284      * @param aStart On returns contains the first instance's start time.
       
   285      * @param aEnd On returns contains the first instance's end time.
       
   286      */
       
   287     virtual void GetFirstInstanceStartAndEndTimeL(
       
   288             TTime& aStart,
       
   289             TTime& aEnd ) = 0;
       
   290 
       
   291     /**
       
   292      * Fetches the calendar owner address.
       
   293      * @return Calendar owner address
       
   294      */
       
   295     virtual const TDesC& CalendarOwnerAddressL() const = 0;
       
   296 
       
   297     /**
       
   298      * Gets the mailbox utils.
       
   299      */
       
   300     virtual CMRMailboxUtils& MailboxUtils() const = 0;
       
   301 
       
   302      /**
       
   303       *  check whether can send canellation
       
   304       */
       
   305      virtual TBool SendCanellationAvailable() = 0;
       
   306      /**
       
   307       * set the cannellation flag 
       
   308       */
       
   309      virtual void SetSendCanellationAvailable (TBool aSendCanellation) = 0;
   309     };
   310     };
   310 
   311 
   311 #endif // MESMREMEETINGREQUESTSENDER_H
   312 #endif // MESMREMEETINGREQUESTSENDER_H