Logo Search packages:      
Sourcecode: inkscape version File versions  Download package

svglsimpl.h

/*
 * Copyright (c) 2004 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C(r) Software License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
 */

// File: http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/ls.idl

#ifndef __SVGLSIMPL_H__
#define __SVGLSIMPL_H__

#include "dom/lsimpl.h"
#include "svgparser.h"



namespace org {
namespace w3c {
namespace dom {
namespace svg {

typedef dom::ls::LSInput LSInput;
typedef dom::ls::LSOutput LSOutput;
typedef dom::ls::LSParserImpl LSParserImpl;
typedef dom::ls::LSException LSException;
typedef dom::ls::LSSerializerImpl LSSerializerImpl;
typedef dom::ls::DOMImplementationLS DOMImplementationLS;
typedef dom::ls::LSException LSException;


/*#########################################################################
## SVGLSParser
#########################################################################*/

/**
 *
 */
class SVGLSParserImpl : virtual public LSParserImpl
{
public:

    /**
     *
     */
    virtual Document *parse(const LSInput &input)
                            throw(dom::DOMException, LSException);



    //##################
    //# Non-API methods
    //##################

    /**
     *
     */
    SVGLSParserImpl()
        {}

    /**
     *
     */
    virtual ~SVGLSParserImpl()
        {}



    //##################
    //# Internals
    //##################


protected:



};


/*#########################################################################
## SVGLSSerializerImpl
#########################################################################*/

/**
 *
 */
class SVGLSSerializerImpl : virtual public LSSerializerImpl
{
public:

    //##################
    //# Non-API methods
    //##################

    /**
     *
     */
    SVGLSSerializerImpl()
        {
        }

    /**
     *
     */
    virtual ~SVGLSSerializerImpl()
        {}



protected:

    /**
     *  Overload me to change behaviour
     */
    virtual void writeNode(const Node *nodeArg);




};





/*#########################################################################
## SVGDOMImplementationLSImpl
#########################################################################*/

/**
 *
 */
class SVGDOMImplementationLSImpl : virtual public DOMImplementationLS
{
public:

    /**
     *
     */
    virtual dom::ls::LSParser &createLSParser(unsigned short mode,
                                     const DOMString &schemaType)
                                     throw (dom::DOMException)
        {
        SVGLSParserImpl newParser;
        parser = newParser;
        return parser;
        }


    /**
     *
     */
    virtual dom::ls::LSSerializer &createLSSerializer()
        {
        SVGLSSerializerImpl newSerializer;
        serializer = newSerializer;
        return serializer;
        }


    /**
     *
     */
    virtual LSInput createLSInput()
        {
        LSInput input;
        return input;
        }

    /**
     *
     */
    virtual LSOutput createLSOutput()
        {
        LSOutput output;
        return output;
        }

    //##################
    //# Non-API methods
    //##################

    /**
     *
     */
    SVGDOMImplementationLSImpl() {}

    /**
     *
     */
    virtual ~SVGDOMImplementationLSImpl() {}

protected:

    SVGLSParserImpl     parser;
    SVGLSSerializerImpl serializer;
};







}  //namespace svg
}  //namespace dom
}  //namespace w3c
}  //namespace org




#endif   /* __SVGLSIMPL_H__ */

/*#########################################################################
## E N D    O F    F I L E
#########################################################################*/


Generated by  Doxygen 1.6.0   Back to index