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: // Content handler for binary data
williamr@4: //
williamr@4: 
williamr@4: 
williamr@4: 
williamr@4: /**
williamr@4:  @file
williamr@4:  @publishedAll
williamr@4:  @released
williamr@4: */
williamr@4: #ifndef XMLENGEXTENDEDCONTENTHANDLER_H
williamr@4: #define XMLENGEXTENDEDCONTENTHANDLER_H
williamr@4: 
williamr@4: #include <xml/dom/xmlengdatacontainer.h>
williamr@4: 
williamr@4: /**
williamr@4: This class extends MContentHandler with functions for binary data handling.
williamr@4: Used by clients during XOP deserialization.
williamr@4: 
williamr@4: @see Xml::MContentHandler
williamr@4: */
williamr@4: class MXmlEngExtendedHandler
williamr@4: 	{
williamr@4: public:
williamr@4: 	/** The uid identifying this extension interface. */
williamr@4: 	enum TExtInterfaceUid {EExtInterfaceUid = 0x101F9794}; 
williamr@4: 
williamr@4: 	/**
williamr@4: 	Called when binary content has been parsed.
williamr@4:  	 
williamr@4: 	@param aBytes The raw binary data of the element
williamr@4: 	@param aCid The CID of the binary data
williamr@4: 	@param aErrorcode The parsing error code.  If this is not KErrNone, special
williamr@4: 	action may be required.
williamr@4: 	@leave - One of the system-wide error codes
williamr@4:  	*/
williamr@4: 	virtual void OnBinaryContentL(const TDesC8& aBytes,
williamr@4: 	                              const TDesC8& aCid,
williamr@4: 	                              TInt aErrorCode) = 0;
williamr@4: 	
williamr@4: 	/**
williamr@4: 	Called when a reference to external data has been parsed.  
williamr@4: 	@see CXmlEngDeserializer::ExternalData()
williamr@4: 
williamr@4: 	Any class derived from TXmlEngDataContainer may be passed to this function.
williamr@4: 	@see TXmlEngBinaryContainer
williamr@4: 	@see TXmlEngChunkContainer
williamr@4: 	@see TXmlEngFileContainer
williamr@4: 
williamr@4: 	@param aContainer The container that holds the external binary data.
williamr@4: 	@param aErrorcode The parsing error code.  If this is not KErrNone, special
williamr@4: 	action may be required.
williamr@4: 	@leave - One of the system-wide error codes
williamr@4:  	*/	
williamr@4: 	virtual void OnDataContainerL( const TXmlEngDataContainer& aContainer, 
williamr@4: 								   TInt aErrorCode) = 0;
williamr@4: 	};
williamr@4: 
williamr@4: #endif //XMLENGINE_EXTENDEDCONTENTHANDLER_H
williamr@4: