28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#ifndef __SP_ATTRIBUTE_REL_SVG_H__
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#define __SP_ATTRIBUTE_REL_SVG_H__
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free/*
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free * attribute-rel-svg.h
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free *
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free * Created on: Jul 25, 2011
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free * Author: abhishek
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free */
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#include <string>
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#include <map>
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#include <set>
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#include <glibmm/ustring.h>
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free// This data structure stores the valid (element -> set of attributes) pair
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-freetypedef std::map<Glib::ustring, std::set<Glib::ustring> > hashList;
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free/*
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free * Utility class to check whether a combination of element and attribute
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free * is valid or not.
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free */
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-freeclass SPAttributeRelSVG {
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-freepublic:
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free static bool findIfValid(Glib::ustring attribute, Glib::ustring element);
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-freeprivate:
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free SPAttributeRelSVG();
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free SPAttributeRelSVG(const SPAttributeRelSVG&);
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free SPAttributeRelSVG& operator= (const SPAttributeRelSVG&);
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-freeprivate:
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free static SPAttributeRelSVG *instance;
038c5713d0a49f1bf9fec03f116387bd945a27c8tavmjong-free static bool foundFile;
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free hashList attributesOfElements;
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free};
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free#endif /* __SP_ATTRIBUTE_REL_SVG_H__ */
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free/*
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free Local Variables:
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free mode:c++
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free c-file-style:"stroustrup"
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free indent-tabs-mode:nil
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free fill-column:99
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free End:
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free*/
28bf548be956fa98bffa377e2caba5f28fb281adtavmjong-free// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :