diff -r 000000000000 -r 8466d47a6819 meetingrequest/mricalviewer/inc/mesmricalviewer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mricalviewer/inc/mesmricalviewer.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,141 @@ +/* +* Copyright (c) 2007-2009 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: Interface definition for ESMR calendar entry +* +*/ + + +#ifndef MESMRICALVIEWER_H +#define MESMRICALVIEWER_H + +// INCLUDES +// +#include "esmricalviewerdefs.hrh" // tesmrattendeestatus +// + +// FORWARD DECLARATIONS +class MESMRIcalViewerObserver; +class CFSMailMessage; + +// CLASS DECLARATIONS +/** + * MESMRIcalViewer defines interface for processing + * FS email messages possibly containing meeting request. + * ical viewer extension plugin implements this interface and + * handles the involved command processing + */ +class MESMRIcalViewer + { + public: // Destruction + /** + * C++ destructror + */ + virtual ~MESMRIcalViewer() { } + + public: // Interface + + /** + * Tests, if message can be viewed. + * @param aMessage Referece to FS email message. + * @return ETrue, if message can be viewed + */ + virtual TBool CanViewMessage( + CFSMailMessage& aMessage ) = 0; + + /** + * Launches viewer for the message asynchronously. + * + * @param aMessage Reference to FS email message. + * @param aObserver Observer for this operation. + * @exception KErrInUse If another asynchronous operation + * is already in progress. + */ + virtual void ExecuteViewL( + CFSMailMessage& aMessage, + MESMRIcalViewerObserver& aObserver ) = 0; + + /** + * Responses to meeting request asynchronously. + * @param aAttendeeStatus Attendee's response + * @param aMessage Reference to FS email message + * @param aObserver Observer for this operation. + * @exception KErrNotSupported if Meeting Requests are not enabled + * KErrInUse if request is already ongoing + */ + virtual void ResponseToMeetingRequestL( + TESMRAttendeeStatus aAttendeeStatus, + CFSMailMessage& aMessage, + MESMRIcalViewerObserver& aObserver ) = 0; + + /** + * Removes meeting request from calendar asynchronously. Method resolves + * meeting request information from the email message and + * removes it from calendar. + * + * Meeting request needs to be cancellation meeting request. + * + * @param aMessage Reference to FS Email message + * @param aObserver Observer for this operation. + * @exception KErrInUse If another asynchronous operation + * is already in progress. + */ + virtual void RemoveMeetingRequestFromCalendarL( + CFSMailMessage& aMessage, + MESMRIcalViewerObserver& aObserver ) = 0; + + /** + * Resolves meeting request method asynchronously. Method extracts + * meeting request information from the email message and fetches the MR + * method information. + * + * @param aMessage Reference to mail message + * @param aObserver Observer for this operation. + * TESMRMeetingRequestMethod MR method information will + * be returned through the observer. + * @exception KErrInUse If another asynchronous operation + * is already in progress. + */ + virtual void ResolveMeetingRequestMethodL( + CFSMailMessage& aMessage, + MESMRIcalViewerObserver& aObserver ) = 0; + + /** + * Resolves meeting request method synchronously. Method locates the MRINFO + * data from the mail message and tries to find out current meeting request + * method. If message does not contain MRINFO data, MR method cannot be + * solved out. + * + * @param aMessage Reference to mail message. + * @return TESMRMeetingRequestMethod type + */ + virtual TESMRMeetingRequestMethod ResolveMeetingRequestMethodL( + CFSMailMessage& aMessage ) = 0; + + /** + * Cancels any outstanding asynchronous request. + */ + virtual void CancelOperation() = 0; + + /** + * Returns an extension point for this interface or NULL. + * @param aExtensionUid Uid of extension. + * @return Extension point or NULL. + */ + virtual TAny* MRIcalViewerExtension( + TUid /*aExtensionUid*/) { return NULL; } + }; + +#endif // MESMRICALVIEWER_H + +// EOF