diff -r 40db28bb26b8 -r fd6cce931a8a locationmanager/ReverseGeocode/inc/xmlhandler.h --- a/locationmanager/ReverseGeocode/inc/xmlhandler.h Thu Sep 02 20:52:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,231 +0,0 @@ -/* -* 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: XMLHandler class to parse the resultant reverse geocoded -* information. -*/ - -#ifndef __XMLHANDLER_H__ -#define __XMLHANDLER_H__ - -// INCLUDE FILES -#include -#include // for mcontenthandler -#include // for cparser -using namespace Xml; - -//Forward declarations -class CAddressInfo; -class CInternalAddressInfo; - -/* - * Category of the address information. This is used for - * internal parsing procedure. - */ -namespace xmlhandler - { - enum TLocationInfoType - { - ENone = 0, - ECountryName, - EState, - ECity, - EDistrict, - EPostalCode, - EThoroughfareName, - EThoroughfareNumber - }; - } - -/** - * MXmlHandlerObserver, an observer to CXmlHandler class. - */ -class MXmlHandlerObserver - { - public: - /* - * Signifies the completion of parsing of the output data. - * - * @param aError error status of parsing part. - * @param aLocationInfo reference to the resultant address information structure. - */ - virtual void OnParseCompletedL( TInt aError, MAddressInfo& aLocationInfo ) = 0; - }; - -/** - * CXmlHandler, a class to parse XML file and then output log information - * to a buffer. - */ -NONSHARABLE_CLASS( CXmlHandler ) : public MContentHandler - { - public: // Constructors and destructor - - /** - * 1st phase constructor - * - * @param aObserver The observer class to be notified after xml parsing is done - * aAddressInfo The address info - */ - static CXmlHandler* NewL( MXmlHandlerObserver& aObserver, CInternalAddressInfo *aAddressInfo ); - - /** - * 1st phase constructor pushes the object into cleanup stack - * @param aObserver The observer class to be notified after xml parsing is done - * aAddressInfo The address info - */ - static CXmlHandler* NewLC( MXmlHandlerObserver& aObserver, CInternalAddressInfo *aAddressInfo ); - - /** - * Destructor - */ - virtual ~CXmlHandler(); - - public: // Public methods - - /** - * Starts parsing the xml content - * @param aBuf The xml data - */ - - void StartParsingL( HBufC8 *aBuf ); - - -#ifdef REVERSEGEOCODE_UNIT_TESTCASE - public: -#else - private: -#endif - - /** - * @param aObserver The observer class to be notified after xml parsing is done - * @param aAddressInfo The address info - */ - - CXmlHandler( MXmlHandlerObserver& aObserver, CInternalAddressInfo *aAddressInfo ); - - /** - * Second phase construction - */ - void ConstructL(); - - -#ifdef REVERSEGEOCODE_UNIT_TESTCASE - public: -#else - private: -#endif - // from MContentHandler - - /** - * This method is a callback to indicate the start of the document - * @param aDocParam Specifies the various parameters of the document. - * @param aErrorCode The error code. If this is not KErrNone then special action may be required. - * - */ - void OnStartDocumentL( const RDocumentParameters &aDocParam, TInt aErrorCode ); - - /** - * This method is a callback to indicate the end of the document - * @param aErrorCode The error code. If this is not KErrNone then special action may be required. - */ - void OnEndDocumentL( TInt aErrorCode ); - - /** - * This method is a callback to indicate an element has been parsed. - * @param aElement Is a handle to the element's details. - * @param aAttributes Contains the attributes for the element - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnStartElementL( const RTagInfo &aElement, const RAttributeArray &aAttributes, TInt aErrorCode ); - - /** - * This method is a callback to indicate the end of the element has been reached. - * @param aElement Is a handle to the element's details. - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - - void OnEndElementL( const RTagInfo &aElement, TInt aErrorCode ); - - /** - * This method is a callback that sends the content of the element - * @param aBytes the raw content data for the element - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnContentL( const TDesC8 &aBytes, TInt aErrorCode ); - - /** - * This method is a notification of the beginning of the scope of a prefix-URI Namespace mapping - * @param aPrefix the Namespace prefix being declared - * @param aUri the Namespace URI the prefix is mapped to - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnStartPrefixMappingL( const RString &aPrefix, const RString &aUri, TInt aErrorCode ); - - /** - * This method is a notification of the end of the scope of a prefix-URI mapping - * @param aPrefix the Namespace prefix being declared - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnEndPrefixMappingL( const RString &aPrefix, TInt aErrorCode ); - - /** - * This method is a notification of ignorable whitespace in element content - * @param aBytes the ignored bytes from the document being parsed - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnIgnorableWhiteSpaceL( const TDesC8 &aBytes, TInt aErrorCode ); - - /** - * This method is a notification of a skipped entity - * @param aName the name of the skipped entity. - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnSkippedEntityL( const RString &aName, TInt aErrorCode ); - - /** - * This method is a receive notification of a processing instruction. - * @param aTarget the processing instruction target - * @param aData the processing instruction data - * @param aErrorCode The error code. If this is not KErrNone then special action may be required - */ - void OnProcessingInstructionL( const TDesC8 &aTarget, const TDesC8 &aData, TInt aErrorCode); - - /** - * This method indicates an error has occurred - * @param aErrorCode The error code. - */ - void OnError( TInt aErrorCode ); - - /** - * This method obtains the interface matching the specified uid. - * @param aUid the uid identifying the required interface - */ - TAny *GetExtendedInterface( const TInt32 aUid ); - -#ifdef REVERSEGEOCODE_UNIT_TESTCASE - public: -#else - private: // Private data -#endif - - MXmlHandlerObserver& iObserver; - CParser* iParser; - HBufC8* iBuffer; - CInternalAddressInfo *iAddressInfo; - xmlhandler::TLocationInfoType iCurrentElement; - TBool iThoroughfare ; - }; - -#endif /* __XMLHANDLER_H__ */ - -// End of File