/****************************************************************************** * * * * * Copyright (C) 1997-2002 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ #ifndef _CMDMAPPER_H #define _CMDMAPPER_H #include struct CommandMap { const char *cmdName; int cmdId; }; const int SIMPLESECT_BIT = 0x1000; enum CommandType { CMD_UNKNOWN = 0, CMD_ADDINDEX = 1, CMD_ANCHOR = 2, CMD_ATTENTION = 3 | SIMPLESECT_BIT, CMD_AUTHOR = 4 | SIMPLESECT_BIT, CMD_BOLD = 5, CMD_BUG = 6 | SIMPLESECT_BIT, CMD_CODE = 7, CMD_COPYDOC = 8, CMD_DATE = 9 | SIMPLESECT_BIT, CMD_DEPRECATED = 10 | SIMPLESECT_BIT, CMD_DONTINCLUDE = 11, CMD_DOTFILE = 12, CMD_EMPHASIS = 13, CMD_ENDCODE = 14, CMD_ENDHTMLONLY = 15, CMD_ENDLATEXONLY = 16, CMD_ENDLINK = 17, CMD_ENDVERBATIM = 18, CMD_EXCEPTION = 19 | SIMPLESECT_BIT, CMD_HTMLINCLUDE = 20, CMD_HTMLONLY = 21, CMD_IMAGE = 22, CMD_INCLUDE = 23, CMD_INTERNAL = 24, CMD_INVARIANT = 25 | SIMPLESECT_BIT , CMD_LATEXONLY = 26, CMD_LI = 27, CMD_LINE = 28, CMD_LINK = 29, CMD_NOTE = 30 | SIMPLESECT_BIT , CMD_PAR = 31 | SIMPLESECT_BIT , CMD_PARAM = 32 | SIMPLESECT_BIT, CMD_POST = 33 | SIMPLESECT_BIT, CMD_PRE = 34 | SIMPLESECT_BIT , CMD_REF = 35, CMD_SECREFITEM = 36, CMD_REMARK = 37 | SIMPLESECT_BIT , CMD_RETURN = 38 | SIMPLESECT_BIT , CMD_RETVAL = 39 | SIMPLESECT_BIT, CMD_SA = 40 | SIMPLESECT_BIT , CMD_SECTION = 41, CMD_SINCE = 42 | SIMPLESECT_BIT, CMD_SKIP = 43, CMD_SKIPLINE = 44, CMD_STARTCODE = 45, CMD_JAVALINK = 46, CMD_TEST = 47 | SIMPLESECT_BIT, CMD_TODO = 48 | SIMPLESECT_BIT, CMD_UNTIL = 49, CMD_VERBATIM = 50, CMD_VERBINCLUDE = 51, CMD_VERSION = 52 | SIMPLESECT_BIT, CMD_WARNING = 53 | SIMPLESECT_BIT , CMD_BSLASH = 54, CMD_AT = 55, CMD_LESS = 56, CMD_GREATER = 57, CMD_AMP = 58, CMD_DOLLAR = 59, CMD_HASH = 60, CMD_PERCENT = 61, CMD_LINEBREAK = 62, CMD_FORMULA = 63, CMD_SECREFLIST = 64, CMD_ENDSECREFLIST= 65, CMD_LANGSWITCH = 66, CMD_AUTHORS = 67 | SIMPLESECT_BIT, CMD_INTERNALREF = 68 }; enum HtmlTagType { HTML_UNKNOWN = 0, HTML_CENTER = 1, HTML_TABLE = 2, HTML_CAPTION = 3, HTML_SMALL = 4, HTML_CODE = 5, HTML_IMG = 6, HTML_PRE = 7, HTML_SUB = 8, HTML_SUP = 9, HTML_TR = 10, HTML_TD = 11, HTML_TH = 12, HTML_OL = 13, HTML_UL = 14, HTML_LI = 15, HTML_EMPHASIS = 16, HTML_HR = 17, HTML_DL = 18, HTML_DT = 19, HTML_DD = 20, HTML_BR = 21, HTML_A = 22, HTML_BOLD = 23, HTML_P = 24, HTML_H1 = 25, HTML_H2 = 26, HTML_H3 = 27 }; class CmdMapper { public: static int map(const char *name); static void freeInstance(); private: static CmdMapper *instance(); CmdMapper(); int find(const char *name); QDict m_map; static CmdMapper *m_instance; }; class HtmlTagMapper { public: static int map(const char *name); static void freeInstance(); private: static HtmlTagMapper *instance(); HtmlTagMapper(); int find(const char *name); QDict m_map; static HtmlTagMapper *m_instance; }; #endif