Blame src/xmldocvisitor.h

Packit Service 50c9f2
/******************************************************************************
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * 
Packit Service 50c9f2
 *
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * Copyright (C) 1997-2015 by Dimitri van Heesch.
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * Permission to use, copy, modify, and distribute this software and its
Packit Service 50c9f2
 * documentation under the terms of the GNU General Public License is hereby 
Packit Service 50c9f2
 * granted. No representations are made about the suitability of this software 
Packit Service 50c9f2
 * for any purpose. It is provided "as is" without express or implied warranty.
Packit Service 50c9f2
 * See the GNU General Public License for more details.
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * Documents produced by Doxygen are derivative works derived from the
Packit Service 50c9f2
 * input used in their production; they are not affected by this license.
Packit Service 50c9f2
 *
Packit Service 50c9f2
 */
Packit Service 50c9f2
Packit Service 50c9f2
#ifndef _XMLDOCVISITOR_H
Packit Service 50c9f2
#define _XMLDOCVISITOR_H
Packit Service 50c9f2
Packit Service 50c9f2
#include "docvisitor.h"
Packit Service 50c9f2
#include <qstack.h>
Packit Service 50c9f2
#include <qcstring.h>
Packit Service 50c9f2
Packit Service 50c9f2
class FTextStream;
Packit Service 50c9f2
class CodeOutputInterface;
Packit Service 50c9f2
class QCString;
Packit Service 50c9f2
Packit Service 50c9f2
/*! @brief Concrete visitor implementation for XML output. */
Packit Service 50c9f2
class XmlDocVisitor : public DocVisitor
Packit Service 50c9f2
{
Packit Service 50c9f2
  public:
Packit Service 50c9f2
    XmlDocVisitor(FTextStream &t,CodeOutputInterface &ci);
Packit Service 50c9f2
    
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    // visitor functions for leaf nodes
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    
Packit Service 50c9f2
    void visit(DocWord *);
Packit Service 50c9f2
    void visit(DocLinkedWord *);
Packit Service 50c9f2
    void visit(DocWhiteSpace *);
Packit Service 50c9f2
    void visit(DocSymbol *);
Packit Service 50c9f2
    void visit(DocURL *);
Packit Service 50c9f2
    void visit(DocLineBreak *);
Packit Service 50c9f2
    void visit(DocHorRuler *);
Packit Service 50c9f2
    void visit(DocStyleChange *);
Packit Service 50c9f2
    void visit(DocVerbatim *);
Packit Service 50c9f2
    void visit(DocAnchor *);
Packit Service 50c9f2
    void visit(DocInclude *);
Packit Service 50c9f2
    void visit(DocIncOperator *);
Packit Service 50c9f2
    void visit(DocFormula *);
Packit Service 50c9f2
    void visit(DocIndexEntry *);
Packit Service 50c9f2
    void visit(DocSimpleSectSep *);
Packit Service 50c9f2
    void visit(DocCite *);
Packit Service 50c9f2
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    // visitor functions for compound nodes
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    
Packit Service 50c9f2
    void visitPre(DocAutoList *);
Packit Service 50c9f2
    void visitPost(DocAutoList *);
Packit Service 50c9f2
    void visitPre(DocAutoListItem *);
Packit Service 50c9f2
    void visitPost(DocAutoListItem *);
Packit Service 50c9f2
    void visitPre(DocPara *) ;
Packit Service 50c9f2
    void visitPost(DocPara *);
Packit Service 50c9f2
    void visitPre(DocRoot *);
Packit Service 50c9f2
    void visitPost(DocRoot *);
Packit Service 50c9f2
    void visitPre(DocSimpleSect *);
Packit Service 50c9f2
    void visitPost(DocSimpleSect *);
Packit Service 50c9f2
    void visitPre(DocTitle *);
Packit Service 50c9f2
    void visitPost(DocTitle *);
Packit Service 50c9f2
    void visitPre(DocSimpleList *);
Packit Service 50c9f2
    void visitPost(DocSimpleList *);
Packit Service 50c9f2
    void visitPre(DocSimpleListItem *);
Packit Service 50c9f2
    void visitPost(DocSimpleListItem *);
Packit Service 50c9f2
    void visitPre(DocSection *);
Packit Service 50c9f2
    void visitPost(DocSection *);
Packit Service 50c9f2
    void visitPre(DocHtmlList *);
Packit Service 50c9f2
    void visitPost(DocHtmlList *) ;
Packit Service 50c9f2
    void visitPre(DocHtmlListItem *);
Packit Service 50c9f2
    void visitPost(DocHtmlListItem *);
Packit Service 50c9f2
    //void visitPre(DocHtmlPre *);
Packit Service 50c9f2
    //void visitPost(DocHtmlPre *);
Packit Service 50c9f2
    void visitPre(DocHtmlDescList *);
Packit Service 50c9f2
    void visitPost(DocHtmlDescList *);
Packit Service 50c9f2
    void visitPre(DocHtmlDescTitle *);
Packit Service 50c9f2
    void visitPost(DocHtmlDescTitle *);
Packit Service 50c9f2
    void visitPre(DocHtmlDescData *);
Packit Service 50c9f2
    void visitPost(DocHtmlDescData *);
Packit Service 50c9f2
    void visitPre(DocHtmlTable *);
Packit Service 50c9f2
    void visitPost(DocHtmlTable *);
Packit Service 50c9f2
    void visitPre(DocHtmlRow *);
Packit Service 50c9f2
    void visitPost(DocHtmlRow *) ;
Packit Service 50c9f2
    void visitPre(DocHtmlCell *);
Packit Service 50c9f2
    void visitPost(DocHtmlCell *);
Packit Service 50c9f2
    void visitPre(DocHtmlCaption *);
Packit Service 50c9f2
    void visitPost(DocHtmlCaption *);
Packit Service 50c9f2
    void visitPre(DocInternal *);
Packit Service 50c9f2
    void visitPost(DocInternal *);
Packit Service 50c9f2
    void visitPre(DocHRef *);
Packit Service 50c9f2
    void visitPost(DocHRef *);
Packit Service 50c9f2
    void visitPre(DocHtmlHeader *);
Packit Service 50c9f2
    void visitPost(DocHtmlHeader *);
Packit Service 50c9f2
    void visitPre(DocImage *);
Packit Service 50c9f2
    void visitPost(DocImage *);
Packit Service 50c9f2
    void visitPre(DocDotFile *);
Packit Service 50c9f2
    void visitPost(DocDotFile *);
Packit Service 50c9f2
Packit Service 50c9f2
    void visitPre(DocMscFile *);
Packit Service 50c9f2
    void visitPost(DocMscFile *);
Packit Service 50c9f2
    void visitPre(DocDiaFile *);
Packit Service 50c9f2
    void visitPost(DocDiaFile *);
Packit Service 50c9f2
    void visitPre(DocLink *);
Packit Service 50c9f2
    void visitPost(DocLink *);
Packit Service 50c9f2
    void visitPre(DocRef *);
Packit Service 50c9f2
    void visitPost(DocRef *);
Packit Service 50c9f2
    void visitPre(DocSecRefItem *);
Packit Service 50c9f2
    void visitPost(DocSecRefItem *);
Packit Service 50c9f2
    void visitPre(DocSecRefList *);
Packit Service 50c9f2
    void visitPost(DocSecRefList *);
Packit Service 50c9f2
    //void visitPre(DocLanguage *);
Packit Service 50c9f2
    //void visitPost(DocLanguage *);
Packit Service 50c9f2
    void visitPre(DocParamSect *);
Packit Service 50c9f2
    void visitPost(DocParamSect *);
Packit Service 50c9f2
    void visitPre(DocParamList *);
Packit Service 50c9f2
    void visitPost(DocParamList *);
Packit Service 50c9f2
    void visitPre(DocXRefItem *);
Packit Service 50c9f2
    void visitPost(DocXRefItem *);
Packit Service 50c9f2
    void visitPre(DocInternalRef *);
Packit Service 50c9f2
    void visitPost(DocInternalRef *);
Packit Service 50c9f2
    void visitPre(DocCopy *);
Packit Service 50c9f2
    void visitPost(DocCopy *);
Packit Service 50c9f2
    void visitPre(DocText *);
Packit Service 50c9f2
    void visitPost(DocText *);
Packit Service 50c9f2
    void visitPre(DocHtmlBlockQuote *);
Packit Service 50c9f2
    void visitPost(DocHtmlBlockQuote *);
Packit Service 50c9f2
    void visitPre(DocVhdlFlow *);
Packit Service 50c9f2
    void visitPost(DocVhdlFlow *);
Packit Service 50c9f2
    void visitPre(DocParBlock *);
Packit Service 50c9f2
    void visitPost(DocParBlock *);
Packit Service 50c9f2
Packit Service 50c9f2
  private:
Packit Service 50c9f2
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    // helper functions 
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    
Packit Service 50c9f2
    void filter(const char *str);
Packit Service 50c9f2
    void startLink(const QCString &ref,const QCString &file,
Packit Service 50c9f2
                   const QCString &anchor);
Packit Service 50c9f2
    void endLink();
Packit Service 50c9f2
Packit Service 50c9f2
    void pushEnabled();
Packit Service 50c9f2
    void popEnabled();
Packit Service 50c9f2
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
    // state variables
Packit Service 50c9f2
    //--------------------------------------
Packit Service 50c9f2
Packit Service 50c9f2
    FTextStream &m_;;
Packit Service 50c9f2
    CodeOutputInterface &m_ci;
Packit Service 50c9f2
    bool m_insidePre;
Packit Service 50c9f2
    bool m_hide;
Packit Service 50c9f2
    QStack<bool> m_enabled;
Packit Service 50c9f2
    QCString m_langExt;
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
#endif