diff -r 000000000000 -r 8466d47a6819 meetingrequest/mragnversit2/inc/cesmragnexternalinterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mragnversit2/inc/cesmragnexternalinterface.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2005-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: Defines and implements an ECOM plugin interface for the +* import and export of data into and out of Agenda using the Agenda API. +* +* +*/ + + +#ifndef CESMRAGNEXTERNALINTERFACE_H +#define CESMRAGNEXTERNALINTERFACE_H + +// System includes. +#include // REComSession + +// Forward class declarations. +class CCalEntry; +class MESMRAgnExportObserver; +class MESMRAgnImportObserver; +class RReadStream; +class RWriteStream; + +/** + * Defines and implements an ECOM plugin interface for the import and export of + * data into and out of Agenda using the Agenda API and RReadStream/RWriteStream. + * @publishedAll + */ +class CESMRAgnExternalInterface : public CBase + { +public: // Construction/destruction. + static CESMRAgnExternalInterface* NewL(const TDesC8& aMimeType); + ~CESMRAgnExternalInterface(); + +public: // Methods. + virtual void ImportL(RPointerArray& aEntries, RReadStream& aReadStream, TUint aFlags, MESMRAgnImportObserver& aObserver) = 0; + virtual void ExportL(const CCalEntry& aEntries, RWriteStream& aWriteStream, TUint aFlags, MESMRAgnExportObserver& aObserver) = 0; + virtual void ExportL(RPointerArray& aEntries, RWriteStream& aWriteStream, TUint aFlags, MESMRAgnExportObserver& aObserver) = 0; + + +private: + TUid iDtorIdKey; + }; + +//Flags to determine which fields to export from agenda entries +enum TAgnEntryExport + { + KAgnExportDtStart = 1 << 0, + KAgnExportDtEnd = 1 << 1, + KAgnExportLastModified = 1 << 2, + KAgnExportCompleted = 1 << 3, + KAgnExportRRule = 1 << 4, + KAgnExportRDate = 1 << 5, + KAgnExportExDate = 1 << 6, + KAgnExportAlarm = 1 << 7, + KAgnExportSummary = 1 << 8, + KAgnExportDescription = 1 << 9, + KAgnExportLocation = 1 << 10, + KAgnExportCategory = 1 << 11, + KAgnExportAttendee = 1 << 12, + KAgnExportOrganizer = 1 << 13, + KAgnExportPhoneOwner = 1 << 14, + KAgnExportStatus = 1 << 15, + KAgnExportReplicationStatus = 1 << 16, + KAgnExportPriority = 1 << 17, + KAgnExportMethod = 1 << 18, + KAgnExportSequence = 1 << 19, + KAgnExportUID = 1 << 20, + KAgnExportRecurrenceId = 1 << 21, + KAgnExportTzRules = 1 << 22, + KAgnExportCreated = 1 << 23, + KAgnExportDtStamp = 1 << 24, + KAgnExportClass = 1 << 25, + KAgnExportXProp = 1 << 26, + + }; + +#include "cesmragnexternalinterface.inl" + +#endif + +// End of file.