landmarks/locationlandmarks/converter/inc/EPos_CPosLmLmxParser.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 01:06:48 +0200
changeset 0 667063e416a2
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* 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: Parser implementation for GPX format.
*
*
*/


#ifndef CPOSLMLMXPARSER_H
#define CPOSLMLMXPARSER_H

//  INCLUDES
#include <f32file.h>
#include "EPos_CPosLmXmlParser.h"

/**
 *  Parser implementation for GPX format.
 */
class CPosLmLmxParser : public CPosLmXmlParser
    {
    public:  // Constructors and destructor

        /**
        * Two-phased constructor.
        * @returns A new instance of this class.
        */
        static CPosLmLmxParser* NewL();

        /**
        * Destructor.
        */
        virtual ~CPosLmLmxParser();

    protected: // From CPosLmXmlParser

         void OnAttributesL( TPosXmlTagType aTag, const Xml::RAttributeArray& aAttributes );

         void RemoveTagsL( TPosXmlTagType aTag );

         void GetNextAllowedTagsL( RArray<TPosXmlTagType>& aChildTags );
         
         void CheckMandatoryTagsL( TPosXmlTagType aTag );
         
         TBool IsLandmarkStarted( TPosXmlTagType aTag );

         TBool IsCategoryStarted( TPosXmlTagType aTag );
    
         void SetContentL( TPosXmlTagType aTag, const TDesC& aContent );
         
         TPosXmlTagType TagTypeL( const Xml::RTagInfo& aElement );

         TBool IsTreeTag( TPosXmlTagType aTag );

    private:

    TPositionFieldId PositionFieldId( TPosXmlTagType aXmlTagType );
         
    private:

        /**
        * C++ default constructor.
        */
        CPosLmLmxParser();
        
        // By default, prohibit copy constructor
        CPosLmLmxParser( const CPosLmLmxParser& );
        // Prohibit assigment operator
        CPosLmLmxParser& operator= ( const CPosLmLmxParser& );

    private:    // Data

    };

#endif      // CPOSLMLMXPARSER_H

// End of File