diff -r 000000000000 -r 8466d47a6819 meetingrequest/mrservices/inc/cesmrcalimportexporter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrservices/inc/cesmrcalimportexporter.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,101 @@ +/* +* 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 iCal import exporter +* +*/ + + +#ifndef CESMRCALIMPORTEXPORTER_H +#define CESMRCALIMPORTEXPORTER_H + +#include +// +#include "mesmragnimportobserver.h" +#include "mesmragnexportobserver.h" +// +#include "mesmrcalimportexporter.h" + +class CESMRAgnExternalInterface; + +/** + * CESMRCalImportExporter implements interface for + * importing and exporting calendar entries to / from + * iCal format. + * + * @see MESMRCalImportExporter + * @see CAgnExternalInterface + * @lib esmrservices.lib + */ +NONSHARABLE_CLASS(CESMRCalImportExporter) : + public CBase, + public MESMRCalImportExporter, + public MESMRAgnImportObserver, + public MESMRAgnExportObserver + { +public: // Construction and destruction + /** + * Creates and initializes new CESMRCalImportExporter object. + * Ownership is transferred to caller. + * + * @return Pointer to CESMRCalImportExporter object. + */ + IMPORT_C static CESMRCalImportExporter* NewL(); + + /** + * Creates and initializes new CESMRCalImportExporter object. + * Ownership is transferred to caller and created object is + * left to cleanup stack. + * + * @return Pointer to CESMRCalImportExporter object. + */ + IMPORT_C static CESMRCalImportExporter* NewLC(); + + /** + * C++ destructor. + */ + IMPORT_C ~CESMRCalImportExporter(); + +public: // From MESMRCalImportExporter + HBufC8* ExportToICal8L( CCalEntry& aEntry ); + HBufC8* ExportToICal8LC( CCalEntry& aEntry ); + HBufC* ExportToICal16L( CCalEntry& aEntry ); + HBufC* ExportToICal16LC( CCalEntry& aEntry ); + CCalEntry* ImportFromIcalL(const TDes8& aIcal ); + CCalEntry* ImportFromIcalLC(const TDes8& aIcal ); + +public: // From MAgnImportObserver + TImpResponse AgnImportErrorL( + TImpError aType, + const TDesC8& aUid, + const TDesC& aContext); + +public: // From MAgnExportObserver + TExpResponse AgnExportErrorL( + TExpError aType, + const TDesC8& aUid, + const TDesC& aContext); + +private: // Implementation + CESMRCalImportExporter(); + void ConstructL(); + +private: // Data + /** + * Import/export implementation + * Own. + */ + CESMRAgnExternalInterface* iImportExporter; + }; + +#endif // CESMRCALIMPORTEXPORTER_H