meetingrequest/mragnversit2/inc/cesmragnexternalinterface.h
changeset 0 8466d47a6819
equal deleted inserted replaced
-1:000000000000 0:8466d47a6819
       
     1 /*
       
     2 * Copyright (c) 2005-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:  Defines and implements an ECOM plugin interface for the
       
    15 *  import and export of data into and out of Agenda using the Agenda API.
       
    16 *
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 #ifndef CESMRAGNEXTERNALINTERFACE_H
       
    22 #define CESMRAGNEXTERNALINTERFACE_H
       
    23 
       
    24 // System includes.
       
    25 #include <ecom/ecom.h> // REComSession
       
    26 
       
    27 // Forward class declarations.
       
    28 class CCalEntry;
       
    29 class MESMRAgnExportObserver;
       
    30 class MESMRAgnImportObserver;
       
    31 class RReadStream;
       
    32 class RWriteStream;
       
    33 
       
    34 /**
       
    35  * Defines and implements an ECOM plugin interface for the import and export of
       
    36  * data into and out of Agenda using the Agenda API and RReadStream/RWriteStream.
       
    37  * @publishedAll
       
    38  */
       
    39 class CESMRAgnExternalInterface : public CBase
       
    40     {
       
    41 public:     // Construction/destruction.
       
    42     static CESMRAgnExternalInterface* NewL(const TDesC8& aMimeType);
       
    43     ~CESMRAgnExternalInterface();
       
    44 
       
    45 public:     // Methods.
       
    46     virtual void ImportL(RPointerArray<CCalEntry>& aEntries, RReadStream& aReadStream, TUint aFlags, MESMRAgnImportObserver& aObserver) = 0;
       
    47     virtual void ExportL(const CCalEntry& aEntries, RWriteStream& aWriteStream, TUint aFlags, MESMRAgnExportObserver& aObserver) = 0;
       
    48     virtual void ExportL(RPointerArray<CCalEntry>& aEntries, RWriteStream& aWriteStream, TUint aFlags, MESMRAgnExportObserver& aObserver) = 0;
       
    49 
       
    50 
       
    51 private:
       
    52     TUid iDtorIdKey;
       
    53     };
       
    54 
       
    55 //Flags to determine which fields to export from agenda entries
       
    56 enum TAgnEntryExport
       
    57     {
       
    58     KAgnExportDtStart           =  1 << 0,
       
    59     KAgnExportDtEnd             =  1 << 1,
       
    60     KAgnExportLastModified      =  1 << 2,
       
    61     KAgnExportCompleted         =  1 << 3,
       
    62     KAgnExportRRule             =  1 << 4,
       
    63     KAgnExportRDate             =  1 << 5,
       
    64     KAgnExportExDate            =  1 << 6,
       
    65     KAgnExportAlarm             =  1 << 7,
       
    66     KAgnExportSummary           =  1 << 8,
       
    67     KAgnExportDescription       =  1 << 9,
       
    68     KAgnExportLocation          =  1 << 10,
       
    69     KAgnExportCategory          =  1 << 11,
       
    70     KAgnExportAttendee          =  1 << 12,
       
    71     KAgnExportOrganizer         =  1 << 13,
       
    72     KAgnExportPhoneOwner        =  1 << 14,
       
    73     KAgnExportStatus            =  1 << 15,
       
    74     KAgnExportReplicationStatus =  1 << 16,
       
    75     KAgnExportPriority          =  1 << 17,
       
    76     KAgnExportMethod            =  1 << 18,
       
    77     KAgnExportSequence          =  1 << 19,
       
    78     KAgnExportUID               =  1 << 20,
       
    79     KAgnExportRecurrenceId      =  1 << 21,
       
    80     KAgnExportTzRules           =  1 << 22,
       
    81     KAgnExportCreated           =  1 << 23,
       
    82     KAgnExportDtStamp           =  1 << 24,
       
    83     KAgnExportClass             =  1 << 25,
       
    84     KAgnExportXProp             =  1 << 26,
       
    85 
       
    86     };
       
    87 
       
    88 #include "cesmragnexternalinterface.inl"
       
    89 
       
    90 #endif
       
    91 
       
    92 // End of file.