svgtopt/SVG/SVGImpl/inc/SVGTestsImpl.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 01:44:10 +0300
changeset 42 0dbbd0486661
parent 0 d46562c3d99d
permissions -rw-r--r--
Revision: 201037 Kit: 201039

/*
* 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:  SVG Implementation header file
 *
*/


#ifndef __INC_CSVGTESTSIMPL__
#define __INC_CSVGTESTSIMPL__

#include <e32base.h>
#include <badesca.h>
#include "SVGTests.h"

/// Implements SvgTests interface. Elements implementing this interface should
/// provide wrappers. Note that not all SVG elements implement this interface
/// in SVG DOM.


/**
 * Class description goes here.
 *
 *  @lib SVGEngine.lib
 *  @since 1.0
 */
class CSvgTestsImpl : public CBase, public MSvgTests
    {
    public:


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        static CSvgTestsImpl*   NewL();


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        static CSvgTestsImpl*   NewLC();


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
                                ~CSvgTestsImpl();

        // From MSvgTests


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        void                    GetRequiredFeatures( const CDesCArrayFlat*& aRequiredFeatures );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        void                    GetRequiredExtensions( const CDesCArrayFlat*& aRequiredExtensions );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        TBool                   GetSystemLanguage( const CDesCArrayFlat*& aSystemLanguage );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        TBool                   HasExtension( const TDesC& aExtension );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        TBool                   HasFeature( const TDesC& aFeature );

		TBool 					HasAnyTests();
		
        // Implementation

		/**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
		TBool SetSystemLanguageAttribute( const TDesC& aValue  );
		
		/**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
         
		TBool SetRequiredExtensionAttribute( const TDesC& aValue  );
        
        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
         
        TBool SetRequiredFeatureAttribute( const TDesC& aValue  );
        
        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        TBool                   SetTestAttributeL( const TDesC& aPropertyName,
                                                   const TDesC& aValue );


		    // functions for encoding

	    void                    SetRequiredFeatures(  CDesCArrayFlat*& aRequiredFeatures );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        void                    SetRequiredExtensions(  CDesCArrayFlat*& aRequiredExtensions );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        void                    SetSystemLanguage(  CDesCArrayFlat*& aSystemLanguage );


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        CSvgTestsImpl*          CloneL();

    private:


        /**
         * Need method description
         *
         * @since 1.0
         * @param 
         * @return
         */
        void                    ConstructL();

        CDesCArrayFlat*         iRequiredFeatures;

        CDesCArrayFlat*         iRequiredExtensions;

        CDesCArrayFlat*         iSystemLanguage;
        
        TBool					iSystemLanguageEmpty;
    };

#endif /* __INC_CSVGTESTSIMPL__ */