|         |      1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). | 
|         |      2 // All rights reserved. | 
|         |      3 // This component and the accompanying materials are made available | 
|         |      4 // under the terms of "Eclipse Public License v1.0" | 
|         |      5 // which accompanies this distribution, and is available | 
|         |      6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
|         |      7 // | 
|         |      8 // Initial Contributors: | 
|         |      9 // Nokia Corporation - initial contribution. | 
|         |     10 // | 
|         |     11 // Contributors: | 
|         |     12 // | 
|         |     13 // Description: | 
|         |     14 // Content handler for binary data | 
|         |     15 // | 
|         |     16  | 
|         |     17  | 
|         |     18  | 
|         |     19 /** | 
|         |     20  @file | 
|         |     21  @publishedAll | 
|         |     22  @released | 
|         |     23 */ | 
|         |     24 #ifndef XMLENGEXTENDEDCONTENTHANDLER_H | 
|         |     25 #define XMLENGEXTENDEDCONTENTHANDLER_H | 
|         |     26  | 
|         |     27 #include <xml/dom/xmlengdatacontainer.h> | 
|         |     28  | 
|         |     29 /** | 
|         |     30 This class extends MContentHandler with functions for binary data handling. | 
|         |     31 Used by clients during XOP deserialization. | 
|         |     32  | 
|         |     33 @see Xml::MContentHandler | 
|         |     34 */ | 
|         |     35 class MXmlEngExtendedHandler | 
|         |     36 	{ | 
|         |     37 public: | 
|         |     38 	/** The uid identifying this extension interface. */ | 
|         |     39 	enum TExtInterfaceUid {EExtInterfaceUid = 0x101F9794};  | 
|         |     40  | 
|         |     41 	/** | 
|         |     42 	Called when binary content has been parsed. | 
|         |     43  	  | 
|         |     44 	@param aBytes The raw binary data of the element | 
|         |     45 	@param aCid The CID of the binary data | 
|         |     46 	@param aErrorcode The parsing error code.  If this is not KErrNone, special | 
|         |     47 	action may be required. | 
|         |     48 	@leave - One of the system-wide error codes | 
|         |     49  	*/ | 
|         |     50 	virtual void OnBinaryContentL(const TDesC8& aBytes, | 
|         |     51 	                              const TDesC8& aCid, | 
|         |     52 	                              TInt aErrorCode) = 0; | 
|         |     53 	 | 
|         |     54 	/** | 
|         |     55 	Called when a reference to external data has been parsed.   | 
|         |     56 	@see CXmlEngDeserializer::ExternalData() | 
|         |     57  | 
|         |     58 	Any class derived from TXmlEngDataContainer may be passed to this function. | 
|         |     59 	@see TXmlEngBinaryContainer | 
|         |     60 	@see TXmlEngChunkContainer | 
|         |     61 	@see TXmlEngFileContainer | 
|         |     62  | 
|         |     63 	@param aContainer The container that holds the external binary data. | 
|         |     64 	@param aErrorcode The parsing error code.  If this is not KErrNone, special | 
|         |     65 	action may be required. | 
|         |     66 	@leave - One of the system-wide error codes | 
|         |     67  	*/	 | 
|         |     68 	virtual void OnDataContainerL( const TXmlEngDataContainer& aContainer,  | 
|         |     69 								   TInt aErrorCode) = 0; | 
|         |     70 	}; | 
|         |     71  | 
|         |     72 #endif //XMLENGINE_EXTENDEDCONTENTHANDLER_H | 
|         |     73  |