diff -r 000000000000 -r 8466d47a6819 meetingrequest/mrcommon/inc/esmrentryhelper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrcommon/inc/esmrentryhelper.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,127 @@ +/* +* Copyright (c) Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Definition for static entry helper methods +* +*/ + + +#ifndef MESMRENTRYHELPER_H +#define MESMRENTRYHELPER_H + +#include +#include + +class CCalEntry; +class CCalAttendee; +class CMRMailboxUtils; + +/** + * Static helpers methods for MR Viewers for analyzing entry + * content and properties. + */ +NONSHARABLE_CLASS(ESMREntryHelper) + { +public: // New functions + + /** + * Tells the mailbox id to use for sending a request or a response. + * From mail application we may only respond, and in that case we + * use the incoming mailbox. From other places we must use the + * default MR mailbox setting. + * @param aInParams input parameters for AgnEntryUi + * @param aUtils reference to MR Utils + * @return mailbox id, KMsvNullIndexEntryId if not available + */ + IMPORT_C static TMsvId SendingMailBoxL( + const MAgnEntryUi::TAgnEntryUiInParams& aInParams, + CMRMailboxUtils& aUtils ); + + /** + * Tells whether the entry belongs to a repeating meeting. + * The definition of a repeating meeting is not that there must be + * multiple instances, but that repeating properties exist (e.g. RRule). + */ + IMPORT_C static TBool IsRepeatingMeetingL( + const CCalEntry& aEntry ); + + /** + * Tests whether given entry is an originating entry or a modifying + * entry. + * @param aEntry to evaluate + * @return ETrue if modifying entry, EFalse otherwise + */ + IMPORT_C static TBool IsModifyingEntryL( + const CCalEntry& aEntry ); + + /** + * Has this particular entry with it's latest saved content been sent? + * This is determined from the DTSTAMP value which is null until + * up to date entry is sent. + * @param aEntry + * @return ETrue if entry has been sent + */ + IMPORT_C static TBool IsLatestSavedSentL( + const CCalEntry& aEntry ); + + /** + * Checks if either entire meeting is cancelled, or if entry is + * cancellation for this particular attendee. + * @param aEntry + * @return ETrue if meeting cancelled from user's point of view + */ + IMPORT_C static TBool IsCancelledL( + const CCalEntry& aEntry, + CMRMailboxUtils& aUtils ); + + /** + * Checks whether entry is out of date or not. + * @param aEntry entry to check + * @return ETrue if entry is outdated + */ + IMPORT_C static TBool OccursInPastL( + const CCalEntry& aEntry ); + + /** + * Returns phone owner's address, KNullDesC if not found. + * @param aEntry entry to evaluate + * @param aUtils utility reference + * @return address + */ + IMPORT_C static const TDesC& PhoneOwnerAddrL( + const CCalEntry& aEntry, + CMRMailboxUtils& aUtils ); + + /** + * Searches for the given attendee in aEntry. This is usable e.g. + * in case of response, when compare and update attendee in + * response and request. Matching is done based on e-mail address. + * @param aAttendee reference attendee to be found + * @aEntry entry containing possibly multiple attendees + * @return matching attendee or NULL, ownership is not transferred + */ + IMPORT_C static CCalAttendee* EqualAttendeeL( + const CCalAttendee& aAttendee, + const CCalEntry& aEntry ); + + /** + * Method which checks if start and end time span multiple days. + * @param aEntry + * @return ETrue if spans multiple days + */ + IMPORT_C static TBool SpansManyDaysL( + const TCalTime& aStartTime, + const TCalTime& aEndTime ); + }; + +#endif // MESMRENTRYHELPER_H \ No newline at end of file