diff -r 65a3ef1d5bd0 -r f742655b05bf voipplugins/accountcreationplugin/engine/inc/acpxmlhandler.h --- a/voipplugins/accountcreationplugin/engine/inc/acpxmlhandler.h Thu Aug 19 09:45:22 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,314 +0,0 @@ -/* -* Copyright (c) 2007-2007 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: Declarition of CAcpXmlHandler -* -*/ - - -#ifndef _ACPXMLHANDLER -#define _ACPXMLHANDLER - -#include -#include -#include -#include -#include - -using namespace Xml; - -class CAcpProvider; -class MAcpXmlHandlerObserver; - -/** - * CAcpXmlHandler class - * Declarition of CAcpXmlHandler. - * - * @lib accountcreationplugin.lib - * @since S60 v3.2 - */ -NONSHARABLE_CLASS( CAcpXmlHandler ) : public CActive, MContentHandler - { -public: - - /** - * Two-phased constructor. - * - * @param aObserver for notifying xml events - */ - static CAcpXmlHandler* NewL( MAcpXmlHandlerObserver& aObserver ); - - /** - * Two-phased constructor. - * - * @param aObserver for notifying xml events - */ - static CAcpXmlHandler* NewLC( MAcpXmlHandlerObserver& aObserver ); - - /** - * Destructor. - */ - virtual ~CAcpXmlHandler(); - - /** - * Starts parsing xml with given filename. - * Function leaves on failure. - * - * @since S60 v3.2 - * @param aFilename for file to be parsed - */ - void StartParsingL( const TFileName& aFilename ); - - /** - * Returns provider information referenced by index. - * - * @since S60 v3.2 - * @param aIndex for provider list index - * @return reference to provider information - */ - const CAcpProvider& ProviderFromIndexL( TInt aIndex ) const; - -private: - - CAcpXmlHandler( MAcpXmlHandlerObserver& aObserver ); - void ConstructL(); - - /** - * Handles finished provider and notifies observer. - * - * @since S60 v3.2 - */ - void HandleFinishedProviderL(); - -// from base class CActive - - /** - * From CActive. - * Cancels an outstanding request. - * - * @since S60 v3.2 - */ - void DoCancel(); - - /** - * From CActive. - * Handles request completion event. - * - * @since S60 v3.2 - */ - void RunL(); - -// from base class MContentHandler - - /** - * From MContentHandler. - * Callback to indicate the start of the document. - * - * @since S60 v3.2 - * @param aDocParam Specifies the various parameters of the document. - * @param aErrorCode Error code. - */ - void OnStartDocumentL( const RDocumentParameters &aDocParam, - TInt aErrorCode ); - - /** - * From MContentHandler. - * Callback to indicate the end of the document. - * - * @since S60 v3.2 - * param aErrorCode Error code. - */ - void OnEndDocumentL( TInt aErrorCode ); - - /** - * From MContentHandler. - * Callback to indicate an element has been parsed. - * - * @since S60 v3.2 - * @param aElement Handle to the element's details. - * @param aAttributes Attributes for the element. - * @param aErrorCode Error code. - */ - void OnStartElementL( const RTagInfo &aElement, - const RAttributeArray &aAttributes, - TInt aErrorCode ); - - /** - * From MContentHandler. - * Callback to indicate the end of the element has been reached. - * - * @since S60 v3.2 - * @param Handle to the element's details. - * @param aErrorCode Error code. - */ - void OnEndElementL( const RTagInfo &aElement, TInt aErrorCode ); - - /** - * From MContentHandler. - * Callback that sends the content of the element. - * Not all the content may be returned in one go. The data may be sent - * in chunks. When an OnEndElementL is received this means there is no - * more content to be sent. - * - * @since S60 v3.2 - * @param aBytes Raw content data for the element. - * @param aErrorCode Error code. - */ - void OnContentL( const TDesC8 &aBytes, TInt aErrorCode ); - - /** - * From MContentHandler. - * Notification of the beginning of the - * scope of a prefix-URI Namespace mapping. - * Not used but here because of inheritance. - * - * @since S60 v3.2 - * @param aPrefix Namespace prefix being declared. - * @param aUri Namespace URI the prefix is mapped to. - * @param aErrorCode Error code. - */ - void OnStartPrefixMappingL( const RString& /*aPrefix*/, - const RString& /*aUri*/, TInt /*aErrorCode*/ ); - - /** - * From MContentHandler. - * Notification of the end of the scope of a prefix-URI mapping. - * Not used but here because of inheritance. - * - * @since S60 v3.2 - * @param aPrefix Namespace prefix that was mapped. - * @param aErrorCode Error code. - */ - void OnEndPrefixMappingL( const RString& /*aPrefix*/, - TInt /*aErrorCode*/ ); - - /** - * From MContentHandler. - * Notification of ignorable whitespace in element content. - * Not used but here because of inheritance. - * - * @since S60 v3.2 - * @param aBytes Ignored bytes from the document being parsed. - * @param aErrorCode Error code. - */ - void OnIgnorableWhiteSpaceL( const TDesC8& /*aBytes*/, - TInt /*aErrorCode*/ ); - - /** - * From MContentHandler. - * Notification of a skipped entity. - * Not used but here because of inheritance. - * - * @since S60 v3.2 - * @param aName Name of the skipped entity. - * @param aErrorCode Error code. - */ - void OnSkippedEntityL( - const RString& /*aName*/, - TInt /*aErrorCode*/ ); - - /** - * From MContentHandler. - * Receive notification of a processing instruction. - * Not used but here because of inheritance. - * - * @since S60 v3.2 - * @param aTarget Processing instruction target. - * @param aData Processing instruction data. If empty none was supplied. - * @param aErrorCode Error code. - */ - void OnProcessingInstructionL( - const TDesC8& /*aTarget*/, - const TDesC8& /*aData*/, - TInt /*aErrorCode*/ ); - - /** - * From MContentHandler. - * Indicates an error has occurred. - * - * @since S60 v3.2 - * @param aErrorCode Error code. - */ - void OnError( TInt aErrorCode ); - - /** - * From MContentHandler. - * Obtains the interface matching the specified UID. - * Not used but here because of inheritance (always returns NULL). - * - * @since S60 v3.2 - * @param aUid UID identifying the required interface. - */ - TAny* GetExtendedInterface( const TInt32 /*aUid*/ ); - -private: // data - - /** - * Reference to observer. - * Not own. - */ - MAcpXmlHandlerObserver& iObserver; - - /** - * Handle to parser object. - * Own. - */ - CParser* iParser; - - /** - * Handle to File Server. - */ - RFs iFileServer; - - /** - * Handle to Xml file to be parsed. - */ - RFile iFile; - - /** - * Handle to buffer which contains parsed data. - * Own. - */ - HBufC8* iBuffer; - - /** - * Handle to ongoing temporary provider. - * Own. - */ - CAcpProvider* iProvider; - - /** - * Ongoing element. Parsing is reached to this point. - * Own. - */ - HBufC8* iOngoingAttr; - - /** - * Flag indicates that next content data has to be saved. - */ - TBool iGetContentNow; - - /** - * XML file to be parsed and then deleted - */ - TFileName iFilename; - - // For unit tests. -#ifdef _DEBUG - friend class T_CAcpXmlHandler; -#endif - }; - -#endif // ACPXMLHANDLER_H - -// End of file.