1/*
2    Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org>
3                  2004, 2005, 2006 Rob Buis <buis@kde.org>
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public
7    License as published by the Free Software Foundation; either
8    version 2 of the License, or (at your option) any later version.
9
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public License
16    along with this library; see the file COPYING.LIB.  If not, write to
17    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18    Boston, MA 02110-1301, USA.
19*/
20
21#ifndef SVGTests_h
22#define SVGTests_h
23
24#if ENABLE(SVG)
25#include <wtf/RefPtr.h>
26
27namespace WebCore {
28
29    class MappedAttribute;
30    class String;
31    class SVGStringList;
32    class QualifiedName;
33
34    class SVGTests {
35    public:
36        SVGTests();
37        virtual ~SVGTests();
38
39        SVGStringList* requiredFeatures() const;
40        SVGStringList* requiredExtensions() const;
41        SVGStringList* systemLanguage() const;
42
43        bool hasExtension(const String&) const;
44
45        bool isValid() const;
46
47        bool parseMappedAttribute(MappedAttribute*);
48        bool isKnownAttribute(const QualifiedName&);
49
50    private:
51        mutable RefPtr<SVGStringList> m_features;
52        mutable RefPtr<SVGStringList> m_extensions;
53        mutable RefPtr<SVGStringList> m_systemLanguage;
54    };
55
56} // namespace WebCore
57
58#endif // ENABLE(SVG)
59#endif // SVGTests_h
60