meetingrequest/mricalviewer/inc/mesmricalviewer.h
changeset 0 8466d47a6819
equal deleted inserted replaced
-1:000000000000 0:8466d47a6819
       
     1 /*
       
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Interface definition for ESMR calendar entry
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef MESMRICALVIEWER_H
       
    20 #define MESMRICALVIEWER_H
       
    21 
       
    22 // INCLUDES
       
    23 //<cmail>
       
    24 #include "esmricalviewerdefs.hrh"  // tesmrattendeestatus
       
    25 //</cmail>
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 class MESMRIcalViewerObserver;
       
    29 class CFSMailMessage;
       
    30 
       
    31 // CLASS DECLARATIONS
       
    32 /**
       
    33  * MESMRIcalViewer defines interface for processing
       
    34  * FS email messages possibly containing meeting request.
       
    35  * ical viewer extension plugin implements this interface and
       
    36  * handles the involved command processing
       
    37  */
       
    38 class MESMRIcalViewer
       
    39     {
       
    40     public: // Destruction
       
    41         /**
       
    42         * C++ destructror
       
    43         */
       
    44         virtual ~MESMRIcalViewer() { }
       
    45 
       
    46     public: // Interface
       
    47 
       
    48         /**
       
    49         * Tests, if message can be viewed.
       
    50         * @param aMessage Referece to FS email message.
       
    51         * @return ETrue, if message can be viewed
       
    52         */
       
    53         virtual TBool CanViewMessage(
       
    54               CFSMailMessage& aMessage ) = 0;
       
    55 
       
    56         /**
       
    57         * Launches viewer for the message asynchronously.
       
    58         *
       
    59         * @param aMessage Reference to FS email message.
       
    60         * @param aObserver Observer for this operation.
       
    61         * @exception KErrInUse If another asynchronous operation
       
    62         *            is already in progress.
       
    63         */
       
    64         virtual void ExecuteViewL(
       
    65               CFSMailMessage& aMessage,
       
    66               MESMRIcalViewerObserver& aObserver ) = 0;
       
    67 
       
    68         /**
       
    69         * Responses to meeting request asynchronously.
       
    70         * @param aAttendeeStatus Attendee's response
       
    71         * @param aMessage Reference to FS email message
       
    72         * @param aObserver Observer for this operation.
       
    73         * @exception KErrNotSupported if Meeting Requests are not enabled
       
    74         *            KErrInUse if request is already ongoing
       
    75         */
       
    76         virtual void ResponseToMeetingRequestL(
       
    77               TESMRAttendeeStatus aAttendeeStatus,
       
    78               CFSMailMessage& aMessage,
       
    79               MESMRIcalViewerObserver& aObserver ) = 0;
       
    80 
       
    81         /**
       
    82         * Removes meeting request from calendar asynchronously. Method resolves
       
    83         * meeting request information from the email message and
       
    84         * removes it from calendar.
       
    85         *
       
    86         * Meeting request needs to be cancellation meeting request.
       
    87         *
       
    88         * @param aMessage Reference to FS Email message
       
    89         * @param aObserver Observer for this operation.
       
    90         * @exception KErrInUse If another asynchronous operation
       
    91         *            is already in progress.
       
    92         */
       
    93         virtual void RemoveMeetingRequestFromCalendarL(
       
    94               CFSMailMessage& aMessage,
       
    95               MESMRIcalViewerObserver& aObserver ) = 0;
       
    96 
       
    97         /**
       
    98         * Resolves meeting request method asynchronously. Method extracts
       
    99         * meeting request information from the email message and fetches the MR
       
   100         * method information.
       
   101         *
       
   102         * @param aMessage Reference to mail message
       
   103         * @param aObserver Observer for this operation.
       
   104         *                  TESMRMeetingRequestMethod MR method information will
       
   105         *                  be returned through the observer.
       
   106         * @exception KErrInUse If another asynchronous operation
       
   107         *            is already in progress.
       
   108         */
       
   109         virtual void ResolveMeetingRequestMethodL(
       
   110               CFSMailMessage& aMessage,
       
   111               MESMRIcalViewerObserver& aObserver ) = 0;
       
   112 
       
   113         /**
       
   114         * Resolves meeting request method synchronously. Method locates the MRINFO
       
   115         * data from the mail message and tries to find out current meeting request
       
   116         * method. If message does not contain MRINFO data, MR method cannot be
       
   117         * solved out.
       
   118         *
       
   119         * @param aMessage Reference to mail message.
       
   120         * @return TESMRMeetingRequestMethod type
       
   121         */
       
   122         virtual TESMRMeetingRequestMethod ResolveMeetingRequestMethodL(
       
   123               CFSMailMessage& aMessage ) = 0;
       
   124 
       
   125         /**
       
   126         * Cancels any outstanding asynchronous request.
       
   127         */
       
   128         virtual void CancelOperation() = 0;
       
   129 
       
   130         /**
       
   131         * Returns an extension point for this interface or NULL.
       
   132         * @param aExtensionUid Uid of extension.
       
   133         * @return Extension point or NULL.
       
   134         */
       
   135         virtual TAny* MRIcalViewerExtension(
       
   136               TUid /*aExtensionUid*/) { return NULL; }
       
   137     };
       
   138 
       
   139 #endif // MESMRICALVIEWER_H
       
   140 
       
   141 // EOF