brandingserver/tools/bsimport/inc/cbsimportxmlparser-1.h
branchRCL_3
changeset 21 cfd5c2994f10
parent 0 e6b17d312c8b
child 22 113b91e0a2ad
--- a/brandingserver/tools/bsimport/inc/cbsimportxmlparser-1.h	Thu Aug 19 10:14:19 2010 +0300
+++ b/brandingserver/tools/bsimport/inc/cbsimportxmlparser-1.h	Tue Aug 31 15:31:29 2010 +0300
@@ -2,7 +2,7 @@
 * Copyright (c) 2006-2006 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"
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -11,6 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Parses XML content and stores data to storage*
+* Description:   Parses XML content and stores data to storage*
 */
+
 #ifndef CBSIMPORTXMLPARSER_H#define CBSIMPORTXMLPARSER_H// INCLUDE FILES#include <e32base.h>#include <f32file.h>#include <GMXMLDocument.h>#include <rbsobjowningptrarray.h>#include <mbselement.h>class CMDXMLNode;class CBSImportStorageManager;// CLASS DEFINITIONclass CBSImportXMLParser : public CBase    {private: // Definitions    struct TImportBitmap        {        TInt iBitmapId;        TInt iBitmapMaskId;        TInt iSkinId;        TInt iSkinMaskId;        };    enum TXMLBaseTagTypes        {        EBrandUnknown,        EBrandAppID,        EBrandID,        EBrandLanguage,        EBrandVersion,        EBrandElement        };        public:    static CBSImportXMLParser* NewL( CBSImportStorageManager* aStorage );        static CBSImportXMLParser* NewLC( CBSImportStorageManager* aStorage );    ~CBSImportXMLParser();    /**     * Parse XML document and store data to storage     *     * @since S60 3.2     * @param aDocument XML document to parse     * @return none     */    void ParseDocumentL( CMDXMLDocument& aDocument );private:    CBSImportXMLParser( CBSImportStorageManager* aStorage );        void ConstructL();        /**     * Parses full the base element <branding> and it's child elements.     *     * @since S60 v3.2     * @param aElement to parse     */    void ParseDocumentBaseL( CMDXMLNode* aElement );        /**     * Analyzes a child node of <branding> and stores the value to storage.     * Ignores undetected XML nodes.     *     * @since S60 v3.2     * @param aElement to parse     */    void AnalyzeNodeL( CMDXMLNode* aNode );        /**     * Converts a given node to TXMLBaseTagTypes. This can handle all     * child nodes of <branding>     *     * @since S60 v3.2     * @param aNode node to check     * @return corresponding TXMLBaseTagTypes value (or EBrandUnknown).     */    TXMLBaseTagTypes SolveTagTypeL( CMDXMLNode* aNode );    /**     * Parses full <element> node. Returns a newly constructed MBSElement     * from the content of teh node.      * Ownership is transferred!     *     * @since S60 v3.2     * @param aNode <element> node     * @return Concrete element constructed from node.      */    MBSElement* ParseBrandElementL( CMDXMLNode* aNode );        /**     * Converts elements type attribute value to TBSElementType      * (see MBSElement).     *     * @since S60 v3.2     * @param aType value of type attribute     * @return corresponding TBrandingElementType value or KErrNotFound.     */    TInt SolveElementType( const TDesC& aType );    /**     * Search a child node with name inside another node. Returns the first match     *     * @since S60 v3.2     * @param aNode parent node to search      * @param aTagName Child nodes name     * @return found node or NULL if not found;     */    CMDXMLNode* SearchChild( CMDXMLNode* aNode, const TDesC& aChildName );    /**     * Parse value from <element_value> tag. Leaves if parse fails.     * Ownership is transferred to caller (NodeTextLC)     *     * @since S60 3.2     * @param aNode XML node to parse. should be <element_value>.     * @return value from <element_value>     */    HBufC* NodeTextLC( CMDXMLNode* elNode );    TInt   NodeIntL  ( CMDXMLNode* elNode );        /**     * Parse <element> tag for given value type. Leaves if parsing fails.     *     * @since S60 3.2     * @param aNode XML node to parse     * @param aValue Parsed value     * @return none     */    void DoParseIntegerL( CMDXMLNode* aNode, TInt& aValue );    void DoParseTextL   ( CMDXMLNode* aNode, HBufC*& aText );    void DoParseFileL   ( CMDXMLNode* aNode, HBufC*& aText );    void DoParseListL   ( CMDXMLNode* aNode, RBSObjOwningPtrArray<MBSElement>& aElementArray );    void DoParseBitmapL ( CMDXMLNode* aNode, CBSBitmap*& aBitmap );    private: // Data        // Not owned. Storage where to put parsed elements    CBSImportStorageManager* iStorage;    };#endif //CBSIMPORTXMLPARSER_H
\ No newline at end of file