williamr@4: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // Interface class describing class that may be used as williamr@4: // serializer for binary data williamr@4: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@4: @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: #ifndef XMLENGMDATASERIALIZER_H williamr@4: #define XMLENGMDATASERIALIZER_H williamr@4: williamr@4: #include williamr@4: williamr@4: /** williamr@4: This interface is used to serialize binary data stored in a node, external williamr@4: memory chunk (RChunk) or file. This interface may be implemented by client williamr@4: applications. williamr@4: @see TXmlEngSerializationOptions williamr@4: */ williamr@2: class MXmlEngDataSerializer williamr@2: { williamr@2: public: williamr@4: /** williamr@4: Serializes the node. The implementor of this class must allocate and own williamr@4: the memory returned by this method until serialization is complete. williamr@4: @param aNode A node to serialize williamr@4: @return The serialized node williamr@4: @leave - One of the system-wide error codes williamr@4: */ williamr@2: virtual TPtrC8 SerializeDataL(TXmlEngNode aNode) = 0; williamr@2: }; williamr@2: williamr@2: williamr@4: #endif /* XMLENGMDATASERIALIZER_H */