devicediagnosticsfw/diagframework/inc/diagpluginloaderdependencyparser.h
branchRCL_3
changeset 25 b183ec05bd8c
parent 24 13d7c31c74e0
child 26 19bba8228ff0
--- a/devicediagnosticsfw/diagframework/inc/diagpluginloaderdependencyparser.h	Thu Aug 19 10:44:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,341 +0,0 @@
-/*
-* Copyright (c) 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:  XML Parser for opaque data field of Plug-ins.  This field
-*  contains information about depdendencies and ordering.
-*
-*/
-
-
-#ifndef DIAGPLUGINLOADERDEPENDENCYPARSER_H
-#define DIAGPLUGINLOADERDEPENDENCYPARSER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <xml/contenthandler.h>
-
-// FORWARD DECLARATION
-class CDesC16ArrayFlat;
-
-namespace Xml
-    {
-    class CParser;
-    class RAttribute;    
-    }
-
-namespace DiagPluginPool
-    {
-/**
-*  Plugin Loader Depdenency Parser
-*  Parse dependency information and other data out of plug-ins via the
-*  opaque_data field.
-* 
-* @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDependencyParser ) : public CBase, 
-                                         public Xml::MContentHandler
-    {
-public:
-
-    /**
-    * Two-phased constructor.
-    *
-    * @return New instance of CDependencyParser
-    */
-    static CDependencyParser* NewL();   
-    
-    /**
-    * Two-phased constructor.
-    *
-    * @return New instance of CDependencyParser and pop onto cleanup stack
-    */
-    static CDependencyParser* NewLC();   
-
-    /**
-    * Destructor.
-    */
-    virtual ~CDependencyParser();
-
-    /**
-    * Parse out Plug-in Information from XML.
-    *
-    * @param aOpaqueData    Contains text with opaque data for Dependencies/Order Number
-    * @param aDefaultData   Contains text with default data for Parent UID
-    * Leave Codes:    KErrNone      Valid data was parsed
-    *                 KErrNotFound  No valid fields found
-    *                 KErrArgument  Text is NULL or empty
-    *                 KErrCorrupt   XML was determined to be corrupt
-    * 
-    */
-    void ParseL( const TDesC8& aOpaqueData, const TDesC8& aDefaultData );
-    
-    /**
-    * Return parsed order number
-    *
-    * @return orrder number
-    */ 
-    TInt GetOrderNumber() const;
-
-    /**
-    * Return parsed parent UID
-    *
-    * @return parent UID
-    */ 
-    const TUid& GetParentUid() const;
-
-    /**
-    * Return parsed service provided.  Ownership is transferred to the caller    
-    *
-    * @return service provided
-    */
-    HBufC* GetServiceProvided();
-
-    /**
-    * Return parsed services required.  Caller assumes ownership.
-    *
-    * @return services required
-    */
-    CDesC16ArrayFlat* GetServicesRequired();
-    
-private:    // from  Base Class Xml::MContentHandler 
-    /**
-    * Callback from XML Parser that indicates a Plugin element is starting
-    *
-    * @param aElement     handle to element's details
-    * @param aAttributes  contains attributes for element
-    * @param aErrorCode   indicates error, if any
-    */     
-    virtual void OnStartElementL( const Xml::RTagInfo& aElement,
-                                  const Xml::RAttributeArray& aAttributes,
-                                  TInt aErrorCode );
-    
-    /**
-    * Callback from XML Parser that indicates the end of a plug-in element
-    *
-    * @param aElement     handle to element's details
-    * @param aErrorCode   indicates error, if any
-    */         
-    virtual void OnEndElementL( const Xml::RTagInfo& aElement, TInt aErrorCode );
-    
-    /**
-    * Callback from XML Parser that indicates content in an XML element
-    *
-    * @param aBytes       simple stream of data indicating the content
-    * @param aErrorCode   indicates error, if any
-    */     
-    virtual void OnContentL( const TDesC8& aBytes, TInt aErrorCode );
-
-    /**
-    * Callback from XML Parser that indicates a parsing error
-    *
-    * @param aErrorCode   indicates error, if any
-    * Note: The XmlFramework has been allocated error codes in the range: -17550 to -17599
-    */         
-    virtual void OnError( TInt aErrorCode );
-    
-    // Unused virtual member functions
-    
-    /**
-    * @see Xml::MContentHandler::OnStartDocumentL
-    */
-    virtual void OnStartDocumentL( const Xml::RDocumentParameters& aDocParam, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */
-    virtual void OnEndDocumentL( TInt aErrorCode );
-
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnStartPrefixMappingL( const RString& aPrefix, 
-                                        const RString& aUri, 
-                                        TInt aErrorCode );    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnEndPrefixMappingL( const RString& aPrefix, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnIgnorableWhiteSpaceL( const TDesC8& aBytes, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnSkippedEntityL( const RString& aName, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnProcessingInstructionL( const TDesC8& aTarget, 
-                                           const TDesC8& aData, 
-                                           TInt aErrorCode );    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual void OnExtensionL( const RString& aData, TInt aToken, TInt aErrorCode );
-    
-    /**
-    * @see Xml::MContentHandler::OnEndDocumentL
-    */    
-    virtual TAny* GetExtendedInterface( const TInt32 aUid );
-    
-private:    // private utility functions
-
-    /**     
-    * Simple utility function to allocate and pop onto the stack a 16 bit buffer descriptor
-    * from an 8 bit descriptor.
-    *
-    * @param aDes   8 bit descriptor to be converted to 16 bits
-    * @return       Newly allocated 16-bit buffer containing converted contents of aDes
-    */      
-    HBufC* Convert8BitTo16BitBufferLC( const TDesC8& aDes ) const;
-    
-    /**     
-    * Parse a numeric attribute from XML text with specific notation for diagnostics framework
-    * plug-ins.
-    *
-    * @param aAttribute         XML attribute
-    * @param aNumericAttribute  Parsed out integer
-    * @return                   Indicates whether or not attribute was parsed correctly
-    */      
-    TBool ParseNumericAttribute( const Xml::RAttribute& aAttribute, TInt& aNumericAttribute );
-    
-    /**     
-    * Parse a string attribute from XML text with specific notation for diagnostics framework
-    * plug-ins.
-    *
-    * @param aAttribute         XML attribute
-    * @param aStringAttribute   Parsed out string
-    * @return                   Indicates whether or not attribute was parsed correctly
-    */          
-    TBool ParseStringAttributeL( const Xml::RAttribute& aAttribute, HBufC*& aStringAttribute );
-    
-    /**     
-    * Parse a hex UID from given descriptor
-    *
-    * @param aSource             String containing UID
-    * @param aTarget             Parsed out UID
-    * @return                    Error Code
-    */          
-    TInt ParseToUid( const TDesC8& aSource, TUid& aTarget );
-    
-    /**     
-    * Parse a hex UID from given descriptor
-    *
-    * @param aAttributes         List of attributes to parse
-    * @param aFoundTag           Reference to some class variable that indicates if a given tag has been found.
-    * @return                    ETrue==XML OK/EFalse==XML not validated
-    */     
-    TBool ValidateXmlTag( const Xml::RAttributeArray& aAttributes, TBool& aFoundTag );
-       
-    /**     
-    * Reset all data
-    *
-    */  
-    void ResetL();
-    
-private:  // private constructors
-
-    /**
-    * Construct a CDependencyParser object
-    *    
-    */
-    CDependencyParser();
-    
-    /**
-    * 2nd phase constructor
-    *
-    */     
-    void ConstructL();
-
-private: // data
-    
-    /**
-     * Pointer to XML Parser from SDK
-     * owns
-     */
-    Xml::CParser* iParser;
-
-    /**
-    * Error code indicates error in parsing
-    */
-    TInt iParseStatus;
-
-    /**
-    * Parsed order number
-    */
-    TInt iOrderNumber;
-
-    /**
-    * Parsed provided service
-    * owns
-    */
-    HBufC* iServiceProvided;
-
-    /**
-    * Parsed required service
-    * owns
-    */
-    CDesC16ArrayFlat* iServicesRequired;
-
-    /**
-    * Parsed parent uid
-    */
-    TUid iParentUid;
-
-    /**
-    * Indicates that parsing is happening within services required blocks
-    */
-    TBool iParsingServicesRequired;
-
-    /**
-    * Indicates that there was some problem with the parsing
-    */
-    TBool iBadXML;
-
-    /**
-    * Indicates that root node has been found and we are inside it
-    */
-    TBool iInsideRootNode;
-    
-    /**
-    * Indicates that order number has been found
-    */    
-    TBool iFoundOrderNumber;
-    
-    /**
-    * Indicates that services provided has been found
-    */    
-    TBool iFoundServiceProvided;
-    
-    /**
-    * Indicates that services required has been found
-    */    
-    TBool iFoundServicesRequired;
-    
-    /**
-    * Indicates that parser has been run at least once
-    */    
-    TBool iHasBeenRun;
-        
-    };
-        
-    } // namespace DiagPluginPool
-
-#endif // DIAGPLUGINLOADERDEPENDENCYPARSER_H
-
-// End of File
-