diff -r 000000000000 -r 42188c7ea2d9 Orb/Doxygen/src/cmdmapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Orb/Doxygen/src/cmdmapper.h Thu Jan 21 17:29:01 2010 +0000 @@ -0,0 +1,215 @@ +/****************************************************************************** + * + * + * + * + * Copyright (C) 1997-2008 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_AMP = 2, + CMD_ANCHOR = 3, + CMD_AT = 4, + CMD_ATTENTION = 5 | SIMPLESECT_BIT, + CMD_AUTHOR = 6 | SIMPLESECT_BIT, + CMD_AUTHORS = 7 | SIMPLESECT_BIT, + CMD_BOLD = 8, + CMD_BSLASH = 9, + CMD_CODE = 10, + CMD_COPYDOC = 11, + CMD_DATE = 12 | SIMPLESECT_BIT, + CMD_DOLLAR = 13, + CMD_DONTINCLUDE = 14, + CMD_DOTFILE = 15, + CMD_EMPHASIS = 16, + CMD_ENDCODE = 17, + CMD_ENDHTMLONLY = 18, + CMD_ENDLATEXONLY = 19, + CMD_ENDLINK = 20, + CMD_ENDSECREFLIST= 21, + CMD_ENDVERBATIM = 22, + CMD_ENDXMLONLY = 23, + CMD_EXCEPTION = 24 | SIMPLESECT_BIT, + CMD_FORMULA = 25, + CMD_GREATER = 26, + CMD_HASH = 27, + CMD_HTMLINCLUDE = 28, + CMD_HTMLONLY = 29, + CMD_IMAGE = 30, + CMD_INCLUDE = 31, + CMD_INTERNAL = 32, + CMD_INTERNALREF = 33, + CMD_INVARIANT = 34 | SIMPLESECT_BIT , + CMD_LATEXONLY = 35, + CMD_LESS = 36, + CMD_LI = 37, + CMD_LINE = 38, + CMD_LINEBREAK = 39, + CMD_LINK = 40, + CMD_NOTE = 41 | SIMPLESECT_BIT, + CMD_PAR = 42 | SIMPLESECT_BIT, + CMD_PARAM = 43 | SIMPLESECT_BIT, + CMD_PERCENT = 44, + CMD_POST = 45 | SIMPLESECT_BIT, + CMD_PRE = 46 | SIMPLESECT_BIT , + CMD_REF = 47, + CMD_SECREFITEM = 48, + CMD_REMARK = 49 | SIMPLESECT_BIT , + CMD_RETURN = 50 | SIMPLESECT_BIT , + CMD_RETVAL = 51 | SIMPLESECT_BIT, + CMD_SA = 52 | SIMPLESECT_BIT , + CMD_SECREFLIST = 53, + CMD_SECTION = 54, + CMD_SUBPAGE = 55, + CMD_SUBSECTION = 56, + CMD_SUBSUBSECTION= 57, + CMD_PARAGRAPH = 58, + CMD_SINCE = 59 | SIMPLESECT_BIT, + CMD_SKIP = 60, + CMD_SKIPLINE = 61, + CMD_STARTCODE = 62, + CMD_JAVALINK = 63, + CMD_UNTIL = 64, + CMD_VERBATIM = 65, + CMD_VERBINCLUDE = 66, + CMD_VERSION = 67 | SIMPLESECT_BIT, + CMD_WARNING = 68 | SIMPLESECT_BIT, + CMD_XREFITEM = 69 | SIMPLESECT_BIT, + CMD_XMLONLY = 70, + CMD_DOT = 71, + CMD_ENDDOT = 72, + CMD_MSC = 73, + CMD_ENDMSC = 74, + CMD_MANONLY = 75, + CMD_ENDMANONLY = 76, + CMD_INCWITHLINES = 77, + CMD_INHERITDOC = 78, + CMD_TPARAM = 79 | SIMPLESECT_BIT, + CMD_COPYBRIEF = 80, + CMD_COPYDETAILS = 81, + CMD_QUOTE = 82 +}; + +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, + HTML_H4 = 28, + HTML_H5 = 29, + HTML_H6 = 30, + HTML_SPAN = 31, + HTML_DIV = 32, + + XML_CmdMask = 0x100, + + XML_C = XML_CmdMask + 0, + XML_CODE = XML_CmdMask + 1, + XML_DESCRIPTION = XML_CmdMask + 2, + XML_EXAMPLE = XML_CmdMask + 3, + XML_EXCEPTION = XML_CmdMask + 4, + XML_INCLUDE = XML_CmdMask + 5, + XML_ITEM = XML_CmdMask + 6, + XML_LIST = XML_CmdMask + 7, + XML_LISTHEADER = XML_CmdMask + 8, + XML_PARA = XML_CmdMask + 9, + XML_PARAM = XML_CmdMask + 10, + XML_PARAMREF = XML_CmdMask + 11, + XML_PERMISSION = XML_CmdMask + 12, + XML_REMARKS = XML_CmdMask + 13, + XML_RETURNS = XML_CmdMask + 14, + XML_SEE = XML_CmdMask + 15, + XML_SEEALSO = XML_CmdMask + 16, + XML_SUMMARY = XML_CmdMask + 17, + XML_TERM = XML_CmdMask + 18, + XML_TYPEPARAM = XML_CmdMask + 19, + XML_TYPEPARAMREF = XML_CmdMask + 20, + XML_VALUE = XML_CmdMask + 21 +}; + +class Mapper +{ + public: + int map(const char *n) + { + QCString name=n; + if (!m_cs) name=name.lower(); + int *result; + return !name.isEmpty() && (result=m_map.find(name)) ? *result: 0; + } + + Mapper(const CommandMap *cm,bool caseSensitive) : m_map(89), m_cs(caseSensitive) + { + m_map.setAutoDelete(TRUE); + const CommandMap *p = cm; + while (p->cmdName) + { + m_map.insert(p->cmdName,new int(p->cmdId)); + p++; + } + } + private: + QDict m_map; + bool m_cs; +}; + +struct Mappers +{ + static void freeMappers(); + static Mapper *cmdMapper; + static Mapper *htmlTagMapper; +}; + + +#endif