diff -r eedf17a17c27 -r cfd5c2994f10 brandingserver/tools/bsimport/inc/cbsimportxmlparser-1.h --- 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 #include #include #include #include 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 and it's child elements. * * @since S60 v3.2 * @param aElement to parse */ void ParseDocumentBaseL( CMDXMLNode* aElement ); /** * Analyzes a child node of 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 * * @since S60 v3.2 * @param aNode node to check * @return corresponding TXMLBaseTagTypes value (or EBrandUnknown). */ TXMLBaseTagTypes SolveTagTypeL( CMDXMLNode* aNode ); /** * Parses full node. Returns a newly constructed MBSElement * from the content of teh node. * Ownership is transferred! * * @since S60 v3.2 * @param aNode 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 tag. Leaves if parse fails. * Ownership is transferred to caller (NodeTextLC) * * @since S60 3.2 * @param aNode XML node to parse. should be . * @return value from */ HBufC* NodeTextLC( CMDXMLNode* elNode ); TInt NodeIntL ( CMDXMLNode* elNode ); /** * Parse 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& 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