diff -r 000000000000 -r dd21522fd290 browserutilities/feedsengine/FeedsServer/FolderHandler/inc/OpmlWriter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserutilities/feedsengine/FeedsServer/FolderHandler/inc/OpmlWriter.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: Translates CFolderItems back to opml. +* +*/ + + +#ifndef OPML_WRITER_H +#define OPML_WRITER_H + + +// INCLUDES +#include +#include +#include +#include +#include "libxml2_xmlwriter.h" + +#include "FeedsDatabase.h" +#include "CleanupLibXml2.h" +#include "XmlUtils.h" + + + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + + +/** +* Translates CFolderItems back to opml. +* +* \b Library: FeedsEngine.lib +* +* @since 3.0 +*/ +class OpmlWriter + { + public: // New Methods + /** + * Writes the Folder Items (as opml) to the given file -- using utf-8 + * for the char-encoding. + * + * @since 3.2 + * @param aFolderItemIDs The array of aFolderItemIDs + * @param aExportFileName The file the folder-item will be written to. aFile + * must be opened prior to making this call. + * @return void + */ + static void ExportL(RArray &aFolderItemIDs, const TDesC& aExportFileName); + + private: + /** + * Writes the FolderItem and all of its child to the given file. + * + * @since 3.0 + * @param aWriter The xml writer into which the folder is written into. + * @param aFolderItemId The folder item id which has to be written. + * @param aFeedsDatabase The Feeds Database where all the feelds/folders are stored. + * @return void + */ + static void WriteFolderItemL(xmlTextWriterPtr aWriter, TInt aFolderItemId, CFeedsDatabase &aFeedsDatabase); + + /** + * Writes out a attribute. + * + * @since 3.0 + * @param aWriter The writer the folder is written into. + * @param aName The name of the attribute. + * @param aValue The value of the attribute. + * @return void + */ + static void WriteAttributeL(xmlTextWriterPtr aWriter, const TDesC8& aName, + const TDesC& aValue); + }; + +#endif // OPML_WRITER_H + +// End of File \ No newline at end of file