svgtopt/SVG/Xmldomimpl/inc/SVGXmlDocument.h
author hgs
Wed, 03 Nov 2010 18:56:10 +0200
changeset 46 88edb906c587
permissions -rw-r--r--
201044

/*
* Copyright (c) 2003 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 DOM Implementation header file
 *
*/


#ifndef SVGXMLDOCUMENT_H
#define SVGXMLDOCUMENT_H

#if !defined(__E32BASE_H__)
#include <e32base.h>
#endif

#include "SVGXmlElement.h"


/**
 * Class description
 */
class MXmlDocument
    {
    public:

        /**
         * Create a XML element with the given tag
         *
         * @since 1.0
         * @param aTagName - A string buffer containing the name tag for the XML element
         * @return An element object as a pointer to a MXmlElement interface
         */
       virtual MXmlElement* CreateElementL( const TDesC& aTagName ) = 0;

		virtual MXmlElement* CreateElementL( const TUint8 aTagName ) = 0;


        /**
         * Create an attribute for a given attribute name
         * Strictly speaking a Node element should be created for an attribute
         * This is not implemented for this release
         *
         * @since 1.0
         * @param aName - A string buffer containing the name of the attribute
         * @return An integer containing success/failure information
         */
        virtual TInt        CreateAttribute( const TDesC& aName ) = 0;


        /**
         * Find an element that matches a given element ID
         *
         * @since 1.0
         * @param aElementId - A string buffer containing the required element ID
         * @return An element object as a pointer to a MXmlElement interface
         */
        virtual MXmlElement* GetElementById( const TDesC& aElementId ) = 0;


        /**
         * Append an 'svg' element to its document
         *
         * @since 1.0
         * @param aAppendChild - An XML element pointer to the object that needs
         *                       to be appended
         * @return A pointer to the element just appended if it is an 'svg'
                   Otherwise NULL
         */
        virtual MXmlElement* AppendChildL( MXmlElement* aAppendChild ) = 0;

        /**
         * Method for notification from child element of AppendChildL or
         * RemoveChild.
         *
         * @since 1.0
         * @return none
         */
        virtual void ElementAppendedOrRemoved() = 0;
    };

#endif      // SVGXMLDOCUMENT_H