xml/xmldomandxpath/inc/xmlenginedom/xmlengserializationoptions.h
changeset 0 e35f40988205
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/xmldomandxpath/inc/xmlenginedom/xmlengserializationoptions.h	Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,99 @@
+// Copyright (c) 2006-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:
+// Serialization options functions
+//
+
+
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+
+#ifndef XMLENGSERIALIZATIONOPTIONS_H
+#define XMLENGSERIALIZATIONOPTIONS_H
+
+#include <e32base.h>
+
+class MXmlEngOutputStream;
+class MXmlEngDataSerializer;
+class MXmlEngNodeFilter;
+
+/**
+This class stores serialization options to be used when a document is
+serialized.
+@see RXmlEngDocument::SaveL()
+*/
+class TXmlEngSerializationOptions 
+	{
+public:
+    /** Use indent in output */
+    static const TUint KOptionIndent                 = 0x01;
+    /** Skip xml declaration */
+	static const TUint KOptionOmitXMLDeclaration     = 0x02;
+	/** Add standalone in xml declaration. KOptionOmitXMLDeclaration must not be set */
+	static const TUint KOptionStandalone             = 0x04;
+	/** Add encoding in xml declaration. KOptionOmitXMLDeclaration must not be set */
+	static const TUint KOptionEncoding               = 0x08;
+	/** Not supported */
+	static const TUint KOptionIncludeNsPrefixes      = 0x10;
+	/** Not supported */
+	static const TUint KOptionCDATASectionElements   = 0x20;
+	/** Decode base64 encoded binary containers content upon XOP serialization */
+	static const TUint KOptionDecodeBinaryContainers		 = 0x40;	
+    
+	/**
+    Constructor
+	@param aOptionFlags Serialization options
+	@param aEncoding Serialization encoding.  If KNullDesC8, the document
+	encoding is used.
+    */
+    IMPORT_C TXmlEngSerializationOptions( TUint aOptionFlags = 
+    								   (TXmlEngSerializationOptions::KOptionIndent | 
+    									TXmlEngSerializationOptions::KOptionStandalone |
+    									TXmlEngSerializationOptions::KOptionEncoding), 
+                                    const TDesC8& aEncoding = KNullDesC8);
+
+	/**
+	Sets a node filter.  The node filter is used to choose which nodes from the
+	tree are serialized.  Ownership of the node filter is not transferred and
+	the caller is responsible for freeing aFilter.
+
+	@param aFilter The node filter to set
+    */
+    IMPORT_C void SetNodeFilter(MXmlEngNodeFilter* aFilter);  
+
+	/**
+	Sets a data serializer.  Ownership of the data serializer is not
+	transferred and the caller is responsbile for freeing aSerializer.
+
+	@param aSerializer The data serializer to set
+    */
+    IMPORT_C void SetDataSerializer(MXmlEngDataSerializer* aSerializer);  
+
+public:
+	/** Options flag */
+    TUint iOptions;
+	/** Encoding */
+    TPtrC8 iEncoding;
+	/** Node filter */
+    MXmlEngNodeFilter* iNodeFilter;
+    /** Data serializer */
+    MXmlEngDataSerializer* iDataSerializer;
+	};
+
+
+#endif /* XMLENGSERIALIZATIONOPTIONS_H */
+