aboutsummaryrefslogtreecommitdiffstats
path: root/doc/api-documentation/html/swmodule_8h-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api-documentation/html/swmodule_8h-source.html')
-rw-r--r--doc/api-documentation/html/swmodule_8h-source.html548
1 files changed, 282 insertions, 266 deletions
diff --git a/doc/api-documentation/html/swmodule_8h-source.html b/doc/api-documentation/html/swmodule_8h-source.html
index 30dbe9e..d6e9fa7 100644
--- a/doc/api-documentation/html/swmodule_8h-source.html
+++ b/doc/api-documentation/html/swmodule_8h-source.html
@@ -3,281 +3,297 @@
<title>swmodule.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
-<!-- Generated by Doxygen 1.2.15 -->
+<!-- Generated by Doxygen 1.2.17 -->
<center>
-<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
-<hr><h1>swmodule.h</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************</font>
-00002 <font class="comment"> * swmodule.h - code for base class 'module'. Module is the basis for all</font>
-00003 <font class="comment"> * types of modules (e.g. texts, commentaries, maps, lexicons,</font>
-00004 <font class="comment"> * etc.)</font>
-00005 <font class="comment"> *</font>
-00006 <font class="comment"> * $Id: swmodule_8h-source.html,v 1.7 2002/06/20 20:23:10 mgruner Exp $</font>
-00007 <font class="comment"> *</font>
-00008 <font class="comment"> * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)</font>
-00009 <font class="comment"> * CrossWire Bible Society</font>
-00010 <font class="comment"> * P. O. Box 2528</font>
-00011 <font class="comment"> * Tempe, AZ 85280-2528</font>
-00012 <font class="comment"> *</font>
-00013 <font class="comment"> * This program is free software; you can redistribute it and/or modify it</font>
-00014 <font class="comment"> * under the terms of the GNU General Public License as published by the</font>
-00015 <font class="comment"> * Free Software Foundation version 2.</font>
-00016 <font class="comment"> *</font>
-00017 <font class="comment"> * This program is distributed in the hope that it will be useful, but</font>
-00018 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font>
-00019 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>
-00020 <font class="comment"> * General Public License for more details.</font>
-00021 <font class="comment"> *</font>
-00022 <font class="comment"> */</font>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>swmodule.h</h1><div class="fragment"><pre>00001 <span class="comment">/******************************************************************************</span>
+00002 <span class="comment">* swmodule.h - code for base class 'module'. Module is the basis for all</span>
+00003 <span class="comment">* types of modules (e.g. texts, commentaries, maps, lexicons,</span>
+00004 <span class="comment">* etc.)</span>
+00005 <span class="comment">*</span>
+00006 <span class="comment">* $Id: swmodule_8h-source.html,v 1.9 2002/10/31 11:30:16 joachim Exp $</span>
+00007 <span class="comment">*</span>
+00008 <span class="comment">* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)</span>
+00009 <span class="comment">* CrossWire Bible Society</span>
+00010 <span class="comment">* P. O. Box 2528</span>
+00011 <span class="comment">* Tempe, AZ 85280-2528</span>
+00012 <span class="comment">*</span>
+00013 <span class="comment">* This program is free software; you can redistribute it and/or modify it</span>
+00014 <span class="comment">* under the terms of the GNU General Public License as published by the</span>
+00015 <span class="comment">* Free Software Foundation version 2.</span>
+00016 <span class="comment">*</span>
+00017 <span class="comment">* This program is distributed in the hope that it will be useful, but</span>
+00018 <span class="comment">* WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+00019 <span class="comment">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+00020 <span class="comment">* General Public License for more details.</span>
+00021 <span class="comment">*</span>
+00022 <span class="comment">*/</span>
00023
-00024 <font class="preprocessor">#ifndef SWMODULE_H</font>
-00025 <font class="preprocessor"></font><font class="preprocessor">#define SWMODULE_H</font>
-00026 <font class="preprocessor"></font>
-00027 <font class="preprocessor">#include &lt;swdisp.h&gt;</font>
-00028 <font class="preprocessor">#include &lt;swkey.h&gt;</font>
-00029 <font class="preprocessor">#include &lt;listkey.h&gt;</font>
-00030 <font class="preprocessor">#include &lt;swfilter.h&gt;</font>
-00031 <font class="preprocessor">#include &lt;swconfig.h&gt;</font>
-00032 <font class="preprocessor">#include &lt;swcacher.h&gt;</font>
-00033 <font class="preprocessor">#include &lt;list&gt;</font>
+00024 <span class="preprocessor">#ifndef SWMODULE_H</span>
+00025 <span class="preprocessor"></span><span class="preprocessor">#define SWMODULE_H</span>
+00026 <span class="preprocessor"></span>
+00027 <span class="preprocessor">#include &lt;swdisp.h&gt;</span>
+00028 <span class="preprocessor">#include &lt;swkey.h&gt;</span>
+00029 <span class="preprocessor">#include &lt;listkey.h&gt;</span>
+00030 <span class="preprocessor">#include &lt;swfilter.h&gt;</span>
+00031 <span class="preprocessor">#include &lt;swconfig.h&gt;</span>
+00032 <span class="preprocessor">#include &lt;swcacher.h&gt;</span>
+00033 <span class="preprocessor">#include &lt;list&gt;</span>
00034
-00035 <font class="preprocessor">#include &lt;defs.h&gt;</font>
-00036 <font class="preprocessor">#include &lt;multimapwdef.h&gt;</font>
+00035 <span class="preprocessor">#include &lt;defs.h&gt;</span>
+00036 <span class="preprocessor">#include &lt;multimapwdef.h&gt;</span>
00037
-00038 <font class="preprocessor">#define FILTERPAD 80</font>
-00039 <font class="preprocessor"></font>
-00040 <font class="keyword">using</font> <font class="keyword">namespace </font>std;
-00041
-00042 <font class="keyword">typedef</font> list &lt; SWFilter * &gt;FilterList;
-00043
-00044 <font class="keyword">typedef</font> map &lt; string, string, less &lt; string &gt; &gt; AttributeValue;
-00045 <font class="keyword">typedef</font> map &lt; string, AttributeValue, less &lt; string &gt; &gt; AttributeList;
-00046 <font class="keyword">typedef</font> map &lt; string, AttributeList, less &lt; string &gt; &gt; AttributeTypeList;
-00047
-00048 <font class="preprocessor">#define SWTextDirection char</font>
-00049 <font class="preprocessor"></font><font class="preprocessor">#define SWTextEncoding char</font>
-00050 <font class="preprocessor"></font><font class="preprocessor">#define SWTextMarkup char</font>
-00051 <font class="preprocessor"></font>
-00052 <font class="keyword">enum</font> {DIRECTION_LTR = 0, DIRECTION_RTL, DIRECTION_BIDI};
-00053 <font class="keyword">enum</font> {FMT_UNKNOWN = 0, FMT_PLAIN, FMT_THML, FMT_GBF, FMT_HTML, FMT_HTMLHREF, FMT_RTF, FMT_OSIS};
-00054 <font class="keyword">enum</font> {ENC_UNKNOWN = 0, ENC_LATIN1, ENC_UTF8, ENC_SCSU, ENC_UTF16, ENC_RTF, ENC_HTML};
-00055
-<a name="l00064"></a><a class="code" href="class_s_w_module.html">00064</a> <font class="keyword">class </font>SWDLLEXPORT <a class="code" href="class_s_w_module.html">SWModule</a> : <font class="keyword">public</font> SWCacher {
-00065
-00066 <font class="keyword">protected</font>:
-00067
-00068 ConfigEntMap ownConfig;
-00069 ConfigEntMap *config;
-00070 <font class="keyword">mutable</font> AttributeTypeList entryAttributes;
-00071 <font class="keyword">mutable</font> <font class="keywordtype">bool</font> procEntAttr;
-00072
-00073 <font class="keywordtype">char</font> error;
-00074 <font class="keywordtype">bool</font> skipConsecutiveLinks;
-00075
-<a name="l00077"></a><a class="code" href="class_s_w_module.html#n6">00077</a> <a class="code" href="class_s_w_key.html">SWKey</a> *key;
+00038 SWORD_NAMESPACE_START
+00039
+00040 <span class="preprocessor">#define SWMODULE_OPERATORS \</span>
+00041 <span class="preprocessor"> operator const char *() { return RenderText(); } \</span>
+00042 <span class="preprocessor"> operator SWKey &amp;() { return *getKey(); } \</span>
+00043 <span class="preprocessor"> operator SWKey *() { return getKey(); } \</span>
+00044 <span class="preprocessor"> SWModule &amp;operator &lt;&lt;(const char *inbuf) { setEntry(inbuf); return *this; } \</span>
+00045 <span class="preprocessor"> SWModule &amp;operator &lt;&lt;(const SWKey *sourceKey) { linkEntry(sourceKey); return *this; } \</span>
+00046 <span class="preprocessor"> SWModule &amp;operator -=(int steps) { decrement(steps); return *this; } \</span>
+00047 <span class="preprocessor"> SWModule &amp;operator +=(int steps) { increment(steps); return *this; } \</span>
+00048 <span class="preprocessor"> SWModule &amp;operator ++(int) { return *this += 1; } \</span>
+00049 <span class="preprocessor"> SWModule &amp;operator --(int) { return *this -= 1; } \</span>
+00050 <span class="preprocessor"> SWModule &amp;operator =(SW_POSITION p) { setPosition(p); return *this; }</span>
+00051 <span class="preprocessor"></span>
+00052
+00053 <span class="keyword">typedef</span> std::list &lt; SWFilter * &gt;FilterList;
+00054
+00055 <span class="keyword">typedef</span> std::map &lt; std::string, std::string, std::less &lt; std::string &gt; &gt; AttributeValue;
+00056 <span class="keyword">typedef</span> std::map &lt; std::string, AttributeValue, std::less &lt; std::string &gt; &gt; AttributeList;
+00057 <span class="keyword">typedef</span> std::map &lt; std::string, AttributeList, std::less &lt; std::string &gt; &gt; AttributeTypeList;
+00058
+00059 <span class="preprocessor">#define SWTextDirection char</span>
+00060 <span class="preprocessor"></span><span class="preprocessor">#define SWTextEncoding char</span>
+00061 <span class="preprocessor"></span><span class="preprocessor">#define SWTextMarkup char</span>
+00062 <span class="preprocessor"></span>
+00063 <span class="keyword">enum</span> {DIRECTION_LTR = 0, DIRECTION_RTL, DIRECTION_BIDI};
+00064 <span class="keyword">enum</span> {FMT_UNKNOWN = 0, FMT_PLAIN, FMT_THML, FMT_GBF, FMT_HTML, FMT_HTMLHREF, FMT_RTF, FMT_OSIS};
+00065 <span class="keyword">enum</span> {ENC_UNKNOWN = 0, ENC_LATIN1, ENC_UTF8, ENC_SCSU, ENC_UTF16, ENC_RTF, ENC_HTML};
+00066
+<a name="l00075"></a><a class="code" href="classsword_1_1_s_w_module.html">00075</a> <span class="keyword">class </span>SWDLLEXPORT <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> : <span class="keyword">public</span> SWCacher {
+00076
+00077 <span class="keyword">protected</span>:
00078
-00079 <a class="code" href="class_list_key.html">ListKey</a> listkey;
-00080 <font class="keywordtype">char</font> *modname;
-00081 <font class="keywordtype">char</font> *moddesc;
-00082 <font class="keywordtype">char</font> *modtype;
-00083 <font class="keywordtype">char</font> *modlang;
-00084
-00085 <font class="keywordtype">char</font> direction;
-00086 <font class="keywordtype">char</font> markup;
-00087 <font class="keywordtype">char</font> encoding;
-00088
-<a name="l00090"></a><a class="code" href="class_s_w_module.html#n15">00090</a> <a class="code" href="class_s_w_display.html">SWDisplay</a> *disp;
-00091
-00092 <font class="keyword">static</font> <a class="code" href="class_s_w_display.html">SWDisplay</a> rawdisp;
-00093 <font class="keywordtype">char</font> *entrybuf;
-00094 <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> entrybufallocsize;
+00079 ConfigEntMap ownConfig;
+00080 ConfigEntMap *config;
+00081 <span class="keyword">mutable</span> AttributeTypeList entryAttributes;
+00082 <span class="keyword">mutable</span> <span class="keywordtype">bool</span> procEntAttr;
+00083
+00084 <span class="keywordtype">char</span> error;
+00085 <span class="keywordtype">bool</span> skipConsecutiveLinks;
+00086
+<a name="l00088"></a><a class="code" href="classsword_1_1_s_w_module.html#n6">00088</a> <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key;
+00089
+00090 <a class="code" href="classsword_1_1_list_key.html">ListKey</a> listkey;
+00091 <span class="keywordtype">char</span> *modname;
+00092 <span class="keywordtype">char</span> *moddesc;
+00093 <span class="keywordtype">char</span> *modtype;
+00094 <span class="keywordtype">char</span> *modlang;
00095
-<a name="l00097"></a><a class="code" href="class_s_w_module.html#n18">00097</a> FilterList *stripFilters;
-00098
-<a name="l00100"></a><a class="code" href="class_s_w_module.html#n19">00100</a> FilterList *rawFilters;
-00101
-<a name="l00103"></a><a class="code" href="class_s_w_module.html#n20">00103</a> FilterList *renderFilters;
-00104
-<a name="l00106"></a><a class="code" href="class_s_w_module.html#n21">00106</a> FilterList *optionFilters;
-00107
-<a name="l00109"></a><a class="code" href="class_s_w_module.html#n22">00109</a> FilterList *encodingFilters;
-00110
-00111 <font class="keywordtype">int</font> entrySize;
+00096 <span class="keywordtype">char</span> direction;
+00097 <span class="keywordtype">char</span> markup;
+00098 <span class="keywordtype">char</span> encoding;
+00099
+<a name="l00101"></a><a class="code" href="classsword_1_1_s_w_module.html#n15">00101</a> <a class="code" href="classsword_1_1_s_w_display.html">SWDisplay</a> *disp;
+00102
+00103 <span class="keyword">static</span> <a class="code" href="classsword_1_1_s_w_display.html">SWDisplay</a> rawdisp;
+00104 <span class="keywordtype">char</span> *entrybuf;
+00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> entrybufallocsize;
+00106
+<a name="l00108"></a><a class="code" href="classsword_1_1_s_w_module.html#n18">00108</a> FilterList *stripFilters;
+00109
+<a name="l00111"></a><a class="code" href="classsword_1_1_s_w_module.html#n19">00111</a> FilterList *rawFilters;
00112
-00113 <font class="keyword">public</font>:
-00120 <font class="keyword">static</font> <font class="keywordtype">void</font> nullPercent (<font class="keywordtype">char</font> percent, <font class="keywordtype">void</font> *userData);
-<a name="l00125"></a><a class="code" href="class_s_w_module.html#m0">00125</a> <font class="keywordtype">bool</font> terminateSearch;
-00138 <a class="code" href="class_s_w_module.html">SWModule</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *imodname = 0, <font class="keyword">const</font> <font class="keywordtype">char</font> *imoddesc = 0, <a class="code" href="class_s_w_display.html">SWDisplay</a> * idisp = 0, <font class="keywordtype">char</font> *imodtype = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, <font class="keyword">const</font> <font class="keywordtype">char</font>* modlang = 0);
-00141 <font class="keyword">virtual</font> ~ SWModule ();
-00146 <font class="keyword">virtual</font> <font class="keywordtype">char</font> Error ();
-<a name="l00150"></a><a class="code" href="class_s_w_module.html#a3">00150</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">bool</font> isUnicode()<font class="keyword"> const </font>{<font class="keywordflow">return</font> (encoding == (char)ENC_UTF8 || encoding == (char)ENC_SCSU);}
-00151
-00152 <font class="comment">// These methods are useful for modules that come from a standard SWORD install (most do).</font>
-00153 <font class="comment">// SWMgr will call setConfig. The user may use getConfig and getConfigEntry (if they</font>
-00154 <font class="comment">// are not comfortable with, or don't wish to use stl maps).</font>
-00155 <font class="keyword">virtual</font> <font class="keyword">const</font> ConfigEntMap &amp;getConfig()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> *config; }
-00156 <font class="keyword">virtual</font> <font class="keywordtype">void</font> setConfig(ConfigEntMap *config);
-00157 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *getConfigEntry(<font class="keyword">const</font> <font class="keywordtype">char</font> *key) <font class="keyword">const</font>;
-00158
-<a name="l00162"></a><a class="code" href="class_s_w_module.html#a7">00162</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">int</font> getEntrySize()<font class="keyword"> const </font>{<font class="keywordflow">return</font> entrySize;}
-00170 <font class="keyword">virtual</font> <font class="keywordtype">char</font> SetKey (<font class="keyword">const</font> <a class="code" href="class_s_w_key.html">SWKey</a> *ikey);
-00176 <font class="keyword">virtual</font> <font class="keywordtype">char</font> SetKey (<font class="keyword">const</font> <a class="code" href="class_s_w_key.html">SWKey</a> &amp;ikey);
-<a name="l00180"></a><a class="code" href="class_s_w_module.html#a10">00180</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_key.html">SWKey</a> &amp; Key ()<font class="keyword"> const </font>{
-00181 <font class="keywordflow">return</font> *key;
-00182 }
-<a name="l00189"></a><a class="code" href="class_s_w_module.html#a11">00189</a> <font class="keyword">virtual</font> <font class="keywordtype">char</font> Key (<font class="keyword">const</font> <a class="code" href="class_s_w_key.html">SWKey</a> &amp; ikey) {
-00190 <font class="keywordflow">return</font> SetKey (ikey);
-00191 }
-00198 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *KeyText (<font class="keyword">const</font> <font class="keywordtype">char</font> *imodtype = 0);
-00203 <font class="keyword">virtual</font> <font class="keywordtype">char</font> Display ();
-00210 <font class="keyword">virtual</font> <a class="code" href="class_s_w_display.html">SWDisplay</a> *Disp (<a class="code" href="class_s_w_display.html">SWDisplay</a> * idisp = 0);
-00217 <font class="keyword">virtual</font> <font class="keywordtype">char</font> *Name (<font class="keyword">const</font> <font class="keywordtype">char</font> *imodname = 0);
-00224 <font class="keyword">virtual</font> <font class="keywordtype">char</font> *Description (<font class="keyword">const</font> <font class="keywordtype">char</font> *imoddesc = 0);
-00231 <font class="keyword">virtual</font> <font class="keywordtype">char</font> *Type (<font class="keyword">const</font> <font class="keywordtype">char</font> *imodtype = 0);
-00238 <font class="keyword">virtual</font> <font class="keywordtype">char</font> Direction(<font class="keywordtype">signed</font> <font class="keywordtype">char</font> newdir = -1);
-00245 <font class="keyword">virtual</font> <font class="keywordtype">char</font> Encoding(<font class="keywordtype">signed</font> <font class="keywordtype">char</font> enc = -1);
-00252 <font class="keyword">virtual</font> <font class="keywordtype">char</font> Markup(<font class="keywordtype">signed</font> <font class="keywordtype">char</font> enc = -1);
-00259 <font class="keyword">virtual</font> <font class="keywordtype">char</font> *Lang (<font class="keyword">const</font> <font class="keywordtype">char</font> *imodlang = 0);
-00260
-00261 <font class="comment">// search methods</font>
-00262
-00274 <font class="keyword">virtual</font> <a class="code" href="class_list_key.html">ListKey</a> &amp; Search (<font class="keyword">const</font> <font class="keywordtype">char</font> *istr, <font class="keywordtype">int</font> searchType = 0, <font class="keywordtype">int</font> flags = 0,
-00275 <a class="code" href="class_s_w_key.html">SWKey</a> * scope = 0,
-00276 <font class="keywordtype">bool</font> * justCheckIfSupported = 0,
-00277 <font class="keywordtype">void</font> (*percent) (<font class="keywordtype">char</font>, <font class="keywordtype">void</font> *) = &amp;nullPercent,
-00278 <font class="keywordtype">void</font> *percentUserData = 0);
-00282 <font class="keyword">virtual</font> <font class="keywordtype">signed</font> <font class="keywordtype">char</font> createSearchFramework () {
-00283 <font class="keywordflow">return</font> 0;
-00284 } <font class="comment">// special search framework</font>
-00288 <font class="comment"></font> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> hasSearchFramework () {
-00289 <font class="keywordflow">return</font> <font class="keyword">false</font>;
-00290 } <font class="comment">// special search framework</font>
-<a name="l00295"></a><a class="code" href="class_s_w_module.html#a25">00295</a> <font class="comment"></font> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> isSearchOptimallySupported (<font class="keyword">const</font> <font class="keywordtype">char</font> *istr, <font class="keywordtype">int</font> searchType,
-00296 <font class="keywordtype">int</font> flags, <a class="code" href="class_s_w_key.html">SWKey</a> * scope) {
-00297 <font class="keywordtype">bool</font> retVal = <font class="keyword">false</font>;
-00298 Search (istr, searchType, flags, scope, &amp;retVal);
-00299 <font class="keywordflow">return</font> retVal;
-00300 }
-00307 <font class="keyword">virtual</font> <a class="code" href="class_s_w_key.html">SWKey</a> *CreateKey ();
-00311 <font class="keyword">virtual</font> operator const char *();
-00316 <font class="keyword">virtual</font> <font class="keywordtype">char</font> *getRawEntry () = 0;
-<a name="l00322"></a><a class="code" href="class_s_w_module.html#a29">00322</a> <font class="keyword">virtual</font> operator SWKey &amp; () {
-00323 <font class="keywordflow">return</font> *key;
-00324 }
-<a name="l00333"></a><a class="code" href="class_s_w_module.html#a30">00333</a> <font class="keyword">virtual</font> operator SWKey *() {
-00334 <font class="keywordflow">return</font> key;
-00335 }
-00336
-00337
-00338 <font class="comment">// write interface ----------------------------</font>
-<a name="l00342"></a><a class="code" href="class_s_w_module.html#a31">00342</a> <font class="comment"></font> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> isWritable () {
-00343 <font class="keywordflow">return</font> <font class="keyword">false</font>;
-00344 }
-<a name="l00349"></a><a class="code" href="class_s_w_module.html#d1">00349</a> <font class="keyword">static</font> <font class="keywordtype">signed</font> <font class="keywordtype">char</font> createModule (<font class="keyword">const</font> <font class="keywordtype">char</font> *) {
-00350 <font class="keywordflow">return</font> -1;
-00351 }
-<a name="l00356"></a><a class="code" href="class_s_w_module.html#a32">00356</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; setentry (<font class="keyword">const</font> <font class="keywordtype">char</font> *inbuf, <font class="keywordtype">long</font> len) {
-00357 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00358 }
-<a name="l00363"></a><a class="code" href="class_s_w_module.html#a33">00363</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator &lt;&lt; (<font class="keyword">const</font> <font class="keywordtype">char</font> *) {
-00364 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00365 }
-<a name="l00370"></a><a class="code" href="class_s_w_module.html#a34">00370</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator &lt;&lt; (<font class="keyword">const</font> <a class="code" href="class_s_w_key.html">SWKey</a> *) {
-00371 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00372 }
-<a name="l00376"></a><a class="code" href="class_s_w_module.html#a35">00376</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> deleteEntry () {
-00377 }
-00378 <font class="comment">// end write interface ------------------------</font>
-00379
-00385 <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator -= (<font class="keywordtype">int</font> decrement);
-00391 <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator += (<font class="keywordtype">int</font> increment);
-<a name="l00395"></a><a class="code" href="class_s_w_module.html#a38">00395</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator++ (<font class="keywordtype">int</font>) {
-00396 <font class="keywordflow">return</font> *<font class="keyword">this</font> += 1;
-00397 }
-<a name="l00401"></a><a class="code" href="class_s_w_module.html#a39">00401</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator-- (<font class="keywordtype">int</font>) {
-00402 <font class="keywordflow">return</font> *<font class="keyword">this</font> -= 1;
-00403 }
-00409 <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; operator = (SW_POSITION p);
-<a name="l00414"></a><a class="code" href="class_s_w_module.html#a41">00414</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; AddRenderFilter (SWFilter * newfilter) {
-00415 renderFilters-&gt;push_back (newfilter);
-00416 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00417 }
-<a name="l00422"></a><a class="code" href="class_s_w_module.html#a42">00422</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; RemoveRenderFilter (SWFilter * oldfilter) {
-00423 renderFilters-&gt;remove (oldfilter);
-00424 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00425 }
-<a name="l00431"></a><a class="code" href="class_s_w_module.html#a43">00431</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; ReplaceRenderFilter (SWFilter * oldfilter, SWFilter * newfilter) {
-00432 FilterList::iterator iter;
-00433 <font class="keywordflow">for</font> (iter = renderFilters-&gt;begin(); iter != renderFilters-&gt;end(); iter++)
-00434 <font class="keywordflow">if</font> (*iter == oldfilter)
-00435 *iter = newfilter;
-00436 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00437 }
-<a name="l00444"></a><a class="code" href="class_s_w_module.html#a44">00444</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> renderFilter (<font class="keywordtype">char</font> *buf, <font class="keywordtype">long</font> size, <a class="code" href="class_s_w_key.html">SWKey</a> *key) {
-00445 filterBuffer(renderFilters, buf, size, key);
-00446 }
-<a name="l00451"></a><a class="code" href="class_s_w_module.html#a45">00451</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; AddEncodingFilter (SWFilter * newfilter) {
-00452 encodingFilters-&gt;push_back (newfilter);
-00453 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00454 }
-<a name="l00459"></a><a class="code" href="class_s_w_module.html#a46">00459</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; RemoveEncodingFilter (SWFilter * oldfilter) {
-00460 encodingFilters-&gt;remove (oldfilter);
-00461 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00462 }
-<a name="l00468"></a><a class="code" href="class_s_w_module.html#a47">00468</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; ReplaceEncodingFilter (SWFilter * oldfilter, SWFilter * newfilter) {
-00469 FilterList::iterator iter;
-00470 <font class="keywordflow">for</font> (iter = encodingFilters-&gt;begin(); iter != encodingFilters-&gt;end(); iter++)
-00471 <font class="keywordflow">if</font> (*iter == oldfilter)
-00472 *iter = newfilter;
-00473 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00474 }
-<a name="l00481"></a><a class="code" href="class_s_w_module.html#a48">00481</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> encodingFilter (<font class="keywordtype">char</font> *buf, <font class="keywordtype">long</font> size, <a class="code" href="class_s_w_key.html">SWKey</a> *key) {
-00482 filterBuffer(encodingFilters, buf, size, key);
-00483 }
-<a name="l00488"></a><a class="code" href="class_s_w_module.html#a49">00488</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; AddStripFilter (SWFilter * newfilter) {
-00489 stripFilters-&gt;push_back (newfilter);
-00490 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00491 }
-<a name="l00498"></a><a class="code" href="class_s_w_module.html#a50">00498</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> stripFilter (<font class="keywordtype">char</font> *buf, <font class="keywordtype">long</font> size, <a class="code" href="class_s_w_key.html">SWKey</a> *key) {
-00499 filterBuffer(stripFilters, buf, size, key);
-00500 }
-<a name="l00505"></a><a class="code" href="class_s_w_module.html#a51">00505</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; AddRawFilter (SWFilter * newfilter) {
-00506 rawFilters-&gt;push_back (newfilter);
-00507 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00508 }
-<a name="l00516"></a><a class="code" href="class_s_w_module.html#a52">00516</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> filterBuffer (FilterList *filters, <font class="keywordtype">char</font> *buf, <font class="keywordtype">long</font> size, <a class="code" href="class_s_w_key.html">SWKey</a> *key) {
-00517 FilterList::iterator it;
-00518 <font class="keywordflow">for</font> (it = filters-&gt;begin(); it != filters-&gt;end(); it++) {
-00519 (*it)-&gt;ProcessText(buf, size, key, <font class="keyword">this</font>);
-00520 }
-00521 }
-<a name="l00528"></a><a class="code" href="class_s_w_module.html#a53">00528</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> rawFilter (<font class="keywordtype">char</font> *buf, <font class="keywordtype">long</font> size, <a class="code" href="class_s_w_key.html">SWKey</a> *key) {
-00529 buf[size] = 0;
-00530 filterBuffer(rawFilters, buf, size, key);
-00531 }
-<a name="l00536"></a><a class="code" href="class_s_w_module.html#a54">00536</a> <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> &amp; AddOptionFilter (SWFilter * newfilter) {
-00537 optionFilters-&gt;push_back (newfilter);
-00538 <font class="keywordflow">return</font> *<font class="keyword">this</font>;
-00539 }
-<a name="l00546"></a><a class="code" href="class_s_w_module.html#a55">00546</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> optionFilter (<font class="keywordtype">char</font> *buf, <font class="keywordtype">long</font> size, <a class="code" href="class_s_w_key.html">SWKey</a> *key) {
-00547 filterBuffer(optionFilters, buf, size, key);
-00548 }
-00556 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *StripText (<font class="keywordtype">char</font> *buf = 0, <font class="keywordtype">int</font> len = -1);
-00564 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *RenderText (<font class="keywordtype">char</font> *buf = 0, <font class="keywordtype">int</font> len = -1, <font class="keywordtype">bool</font> render = <font class="keyword">true</font>);
-00570 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *StripText (<a class="code" href="class_s_w_key.html">SWKey</a> * tmpKey);
-00576 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *RenderText (<a class="code" href="class_s_w_key.html">SWKey</a> * tmpKey);
+<a name="l00114"></a><a class="code" href="classsword_1_1_s_w_module.html#n20">00114</a> FilterList *renderFilters;
+00115
+<a name="l00117"></a><a class="code" href="classsword_1_1_s_w_module.html#n21">00117</a> FilterList *optionFilters;
+00118
+<a name="l00120"></a><a class="code" href="classsword_1_1_s_w_module.html#n22">00120</a> FilterList *encodingFilters;
+00121
+00122 <span class="keywordtype">int</span> entrySize;
+00123 <span class="keyword">mutable</span> <span class="keywordtype">long</span> entryIndex; <span class="comment">// internal common storage for index</span>
+00124
+00125 <span class="keyword">public</span>:
+00132 <span class="keyword">static</span> <span class="keywordtype">void</span> nullPercent(<span class="keywordtype">char</span> percent, <span class="keywordtype">void</span> *userData);
+<a name="l00137"></a><a class="code" href="classsword_1_1_s_w_module.html#m0">00137</a> <span class="keywordtype">bool</span> terminateSearch;
+00150 <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *imodname = 0, <span class="keyword">const</span> <span class="keywordtype">char</span> *imoddesc = 0, <a class="code" href="classsword_1_1_s_w_display.html">SWDisplay</a> * idisp = 0, <span class="keywordtype">char</span> *imodtype = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, <span class="keyword">const</span> <span class="keywordtype">char</span>* modlang = 0);
+00153 <span class="keyword">virtual</span> ~<a class="code" href="classsword_1_1_s_w_module.html">SWModule</a>();
+00158 <span class="keyword">virtual</span> <span class="keywordtype">char</span> Error();
+<a name="l00162"></a><a class="code" href="classsword_1_1_s_w_module.html#a3">00162</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> isUnicode()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (encoding == (char)ENC_UTF8 || encoding == (char)ENC_SCSU); }
+00163
+00164 <span class="comment">// These methods are useful for modules that come from a standard SWORD install (most do).</span>
+00165 <span class="comment">// SWMgr will call setConfig. The user may use getConfig and getConfigEntry (if they</span>
+00166 <span class="comment">// are not comfortable with, or don't wish to use stl maps).</span>
+00167 <span class="keyword">virtual</span> <span class="keyword">const</span> ConfigEntMap &amp;getConfig()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *config; }
+00168 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setConfig(ConfigEntMap *config);
+00169 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *getConfigEntry(<span class="keyword">const</span> <span class="keywordtype">char</span> *key) <span class="keyword">const</span>;
+00170
+<a name="l00174"></a><a class="code" href="classsword_1_1_s_w_module.html#a7">00174</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">int</span> getEntrySize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entrySize; }
+<a name="l00183"></a><a class="code" href="classsword_1_1_s_w_module.html#a8">00183</a> <span class="keywordtype">char</span> SetKey(<span class="keyword">const</span> <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *ikey) { <span class="keywordflow">return</span> setKey(ikey); }
+00184 <span class="keyword">virtual</span> <span class="keywordtype">char</span> setKey(<span class="keyword">const</span> SWKey *ikey);
+00185
+00186
+00187 <span class="keyword">virtual</span> <span class="keywordtype">long</span> Index()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entryIndex; }
+00188 <span class="keyword">virtual</span> <span class="keywordtype">long</span> Index(<span class="keywordtype">long</span> iindex) { entryIndex = iindex; <span class="keywordflow">return</span> entryIndex; }
+00189
+<a name="l00196"></a><a class="code" href="classsword_1_1_s_w_module.html#a12">00196</a> <span class="keywordtype">char</span> SetKey(<span class="keyword">const</span> <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> &amp;ikey) { <span class="keywordflow">return</span> setKey(ikey); }
+00197 <span class="keywordtype">char</span> setKey(<span class="keyword">const</span> SWKey &amp;ikey) { <span class="keywordflow">return</span> SetKey(&amp;ikey); }
+00198
+<a name="l00203"></a><a class="code" href="classsword_1_1_s_w_module.html#a14">00203</a> <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> &amp;Key()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *getKey(); }
+00204 SWKey *getKey() <span class="keyword">const</span>;
+00205
+<a name="l00213"></a><a class="code" href="classsword_1_1_s_w_module.html#a16">00213</a> <span class="keywordtype">char</span> Key(<span class="keyword">const</span> <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> &amp; ikey) { <span class="keywordflow">return</span> setKey(ikey); }
+00214
+00215 <span class="comment">/******************************************************************************</span>
+00216 <span class="comment"> * SWModule::KeyText - Sets/gets module KeyText</span>
+00217 <span class="comment"> *</span>
+00218 <span class="comment"> * ENT: ikeytext - value which to set keytext</span>
+00219 <span class="comment"> * [0] - only get</span>
+00220 <span class="comment"> *</span>
+00221 <span class="comment"> * RET: pointer to keytext</span>
+00222 <span class="comment"> */</span>
+00223 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *KeyText(<span class="keyword">const</span> <span class="keywordtype">char</span> *ikeytext = 0) {
+00224 <span class="keywordflow">if</span> (ikeytext) setKey(ikeytext);
+00225 <span class="keywordflow">return</span> *getKey();
+00226 }
+00227
+00232 <span class="keyword">virtual</span> <span class="keywordtype">char</span> Display();
+00233
+00240 <span class="keyword">virtual</span> SWDisplay *Disp(SWDisplay * idisp = 0);
+00247 <span class="keyword">virtual</span> <span class="keywordtype">char</span> *Name(<span class="keyword">const</span> <span class="keywordtype">char</span> *imodname = 0);
+00254 <span class="keyword">virtual</span> <span class="keywordtype">char</span> *Description(<span class="keyword">const</span> <span class="keywordtype">char</span> *imoddesc = 0);
+00261 <span class="keyword">virtual</span> <span class="keywordtype">char</span> *Type(<span class="keyword">const</span> <span class="keywordtype">char</span> *imodtype = 0);
+00268 <span class="keyword">virtual</span> <span class="keywordtype">char</span> Direction(<span class="keywordtype">signed</span> <span class="keywordtype">char</span> newdir = -1);
+00275 <span class="keyword">virtual</span> <span class="keywordtype">char</span> Encoding(<span class="keywordtype">signed</span> <span class="keywordtype">char</span> enc = -1);
+00282 <span class="keyword">virtual</span> <span class="keywordtype">char</span> Markup(<span class="keywordtype">signed</span> <span class="keywordtype">char</span> enc = -1);
+00289 <span class="keyword">virtual</span> <span class="keywordtype">char</span> *Lang(<span class="keyword">const</span> <span class="keywordtype">char</span> *imodlang = 0);
+00290
+00291 <span class="comment">// search methods</span>
+00292
+00304 <span class="keyword">virtual</span> ListKey &amp; Search(<span class="keyword">const</span> <span class="keywordtype">char</span> *istr, <span class="keywordtype">int</span> searchType = 0, <span class="keywordtype">int</span> flags = 0,
+00305 SWKey * scope = 0,
+00306 <span class="keywordtype">bool</span> * justCheckIfSupported = 0,
+00307 <span class="keywordtype">void</span> (*percent) (<span class="keywordtype">char</span>, <span class="keywordtype">void</span> *) = &amp;nullPercent,
+00308 <span class="keywordtype">void</span> *percentUserData = 0);
+00312 <span class="keyword">virtual</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> createSearchFramework() { <span class="keywordflow">return</span> 0; } <span class="comment">// special search framework</span>
+00316 <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> hasSearchFramework() { <span class="keywordflow">return</span> <span class="keyword">false</span>; } <span class="comment">// special search framework</span>
+<a name="l00321"></a><a class="code" href="classsword_1_1_s_w_module.html#a30">00321</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isSearchOptimallySupported(<span class="keyword">const</span> <span class="keywordtype">char</span> *istr, <span class="keywordtype">int</span> searchType,
+00322 <span class="keywordtype">int</span> flags, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> * scope) {
+00323 <span class="keywordtype">bool</span> retVal = <span class="keyword">false</span>;
+00324 Search(istr, searchType, flags, scope, &amp;retVal);
+00325 <span class="keywordflow">return</span> retVal;
+00326 }
+00333 <span class="keyword">virtual</span> SWKey *CreateKey();
+00338 <span class="preprocessor">#ifndef SWIG </span>
+00339 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">char</span> *getRawEntry() = 0;
+00340 <span class="preprocessor">#else</span>
+00341 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">char</span> *getRawEntry() {};
+00342 <span class="preprocessor">#endif </span>
+00343 <span class="preprocessor"></span>
+00344
+00345 <span class="comment">// write interface ----------------------------</span>
+<a name="l00349"></a><a class="code" href="classsword_1_1_s_w_module.html#a33">00349</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isWritable() { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+<a name="l00354"></a><a class="code" href="classsword_1_1_s_w_module.html#d1">00354</a> <span class="keyword">static</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> createModule(<span class="keyword">const</span> <span class="keywordtype">char</span> *) { <span class="keywordflow">return</span> -1; }
+<a name="l00359"></a><a class="code" href="classsword_1_1_s_w_module.html#a34">00359</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setEntry(<span class="keyword">const</span> <span class="keywordtype">char</span> *inbuf, <span class="keywordtype">long</span> len = -1) { }
+<a name="l00363"></a><a class="code" href="classsword_1_1_s_w_module.html#a35">00363</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> linkEntry(<span class="keyword">const</span> <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *sourceKey) { }
+<a name="l00367"></a><a class="code" href="classsword_1_1_s_w_module.html#a36">00367</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> deleteEntry() {}
+00368
+00369 <span class="comment">// end write interface ------------------------</span>
+00370
+00376 <span class="keyword">virtual</span> <span class="keywordtype">void</span> decrement(<span class="keywordtype">int</span> steps = 1);
+00382 <span class="keyword">virtual</span> <span class="keywordtype">void</span> increment(<span class="keywordtype">int</span> steps = 1);
+00388 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setPosition(SW_POSITION p);
+<a name="l00393"></a><a class="code" href="classsword_1_1_s_w_module.html#a40">00393</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; AddRenderFilter(SWFilter * newfilter) {
+00394 renderFilters-&gt;push_back (newfilter);
+00395 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00396 }
+<a name="l00401"></a><a class="code" href="classsword_1_1_s_w_module.html#a41">00401</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; RemoveRenderFilter(SWFilter * oldfilter) {
+00402 renderFilters-&gt;remove (oldfilter);
+00403 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00404 }
+<a name="l00410"></a><a class="code" href="classsword_1_1_s_w_module.html#a42">00410</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; ReplaceRenderFilter(SWFilter * oldfilter, SWFilter * newfilter) {
+00411 FilterList::iterator iter;
+00412 <span class="keywordflow">for</span> (iter = renderFilters-&gt;begin(); iter != renderFilters-&gt;end(); iter++) {
+00413 <span class="keywordflow">if</span> (*iter == oldfilter)
+00414 *iter = newfilter;
+00415 }
+00416 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00417 }
+<a name="l00424"></a><a class="code" href="classsword_1_1_s_w_module.html#a43">00424</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderFilter(<span class="keywordtype">char</span> *buf, <span class="keywordtype">long</span> size, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key) {
+00425 filterBuffer(renderFilters, buf, size, key);
+00426 }
+<a name="l00431"></a><a class="code" href="classsword_1_1_s_w_module.html#a44">00431</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; AddEncodingFilter(SWFilter * newfilter) {
+00432 encodingFilters-&gt;push_back (newfilter);
+00433 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00434 }
+<a name="l00439"></a><a class="code" href="classsword_1_1_s_w_module.html#a45">00439</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; RemoveEncodingFilter(SWFilter * oldfilter) {
+00440 encodingFilters-&gt;remove (oldfilter);
+00441 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00442 }
+<a name="l00448"></a><a class="code" href="classsword_1_1_s_w_module.html#a46">00448</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; ReplaceEncodingFilter(SWFilter * oldfilter, SWFilter * newfilter) {
+00449 FilterList::iterator iter;
+00450 <span class="keywordflow">for</span> (iter = encodingFilters-&gt;begin(); iter != encodingFilters-&gt;end(); iter++) {
+00451 <span class="keywordflow">if</span> (*iter == oldfilter)
+00452 *iter = newfilter;
+00453 }
+00454 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00455 }
+<a name="l00462"></a><a class="code" href="classsword_1_1_s_w_module.html#a47">00462</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> encodingFilter(<span class="keywordtype">char</span> *buf, <span class="keywordtype">long</span> size, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key) {
+00463 filterBuffer(encodingFilters, buf, size, key);
+00464 }
+<a name="l00469"></a><a class="code" href="classsword_1_1_s_w_module.html#a48">00469</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; AddStripFilter(SWFilter * newfilter) {
+00470 stripFilters-&gt;push_back (newfilter);
+00471 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00472 }
+<a name="l00479"></a><a class="code" href="classsword_1_1_s_w_module.html#a49">00479</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> stripFilter(<span class="keywordtype">char</span> *buf, <span class="keywordtype">long</span> size, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key) {
+00480 filterBuffer(stripFilters, buf, size, key);
+00481 }
+<a name="l00486"></a><a class="code" href="classsword_1_1_s_w_module.html#a50">00486</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; AddRawFilter(SWFilter * newfilter) {
+00487 rawFilters-&gt;push_back (newfilter);
+00488 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00489 }
+<a name="l00497"></a><a class="code" href="classsword_1_1_s_w_module.html#a51">00497</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> filterBuffer(FilterList *filters, <span class="keywordtype">char</span> *buf, <span class="keywordtype">long</span> size, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key) {
+00498 FilterList::iterator it;
+00499 <span class="keywordflow">for</span> (it = filters-&gt;begin(); it != filters-&gt;end(); it++) {
+00500 (*it)-&gt;ProcessText(buf, size, key, <span class="keyword">this</span>);
+00501 }
+00502 }
+<a name="l00509"></a><a class="code" href="classsword_1_1_s_w_module.html#a52">00509</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> rawFilter(<span class="keywordtype">char</span> *buf, <span class="keywordtype">long</span> size, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key) {
+00510 filterBuffer(rawFilters, buf, size, key);
+00511 }
+<a name="l00516"></a><a class="code" href="classsword_1_1_s_w_module.html#a53">00516</a> <span class="keyword">virtual</span> <a class="code" href="classsword_1_1_s_w_module.html">SWModule</a> &amp; AddOptionFilter(SWFilter * newfilter) {
+00517 optionFilters-&gt;push_back(newfilter);
+00518 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00519 }
+<a name="l00526"></a><a class="code" href="classsword_1_1_s_w_module.html#a54">00526</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> optionFilter(<span class="keywordtype">char</span> *buf, <span class="keywordtype">long</span> size, <a class="code" href="classsword_1_1_s_w_key.html">SWKey</a> *key) {
+00527 filterBuffer(optionFilters, buf, size, key);
+00528 }
+00536 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *StripText(<span class="keywordtype">char</span> *buf = 0, <span class="keywordtype">int</span> len = -1);
+00544 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *RenderText(<span class="keywordtype">char</span> *buf = 0, <span class="keywordtype">int</span> len = -1, <span class="keywordtype">bool</span> render = <span class="keyword">true</span>);
+00550 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *StripText(SWKey * tmpKey);
+00556 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *RenderText(SWKey * tmpKey);
+00557
+<a name="l00564"></a><a class="code" href="classsword_1_1_s_w_module.html#a59">00564</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSkipConsecutiveLinks(<span class="keywordtype">bool</span> val) { skipConsecutiveLinks = val; }
+00565 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getSkipConsecutiveLinks() { <span class="keywordflow">return</span> skipConsecutiveLinks; }
+00566 <span class="keyword">virtual</span> AttributeTypeList &amp;getEntryAttributes()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entryAttributes; }
+00567 <span class="keyword">virtual</span> <span class="keywordtype">void</span> processEntryAttributes(<span class="keywordtype">bool</span> val)<span class="keyword"> const </span>{ procEntAttr = val; }
+00568 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isProcessEntryAttributes()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> procEntAttr; }
+00569
+00570
+00571
+00572 <span class="comment">// OPERATORS -----------------------------------------------------------------</span>
+00573
+00574 SWMODULE_OPERATORS
+00575
+00576 };
00577
-<a name="l00584"></a><a class="code" href="class_s_w_module.html#a60">00584</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> setSkipConsecutiveLinks(<font class="keywordtype">bool</font> val) { skipConsecutiveLinks = val; }
-00585 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> getSkipConsecutiveLinks() { <font class="keywordflow">return</font> skipConsecutiveLinks; }
-00586 <font class="keyword">virtual</font> AttributeTypeList &amp;getEntryAttributes()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> entryAttributes; }
-00587 <font class="keyword">virtual</font> <font class="keywordtype">void</font> processEntryAttributes(<font class="keywordtype">bool</font> val)<font class="keyword"> const </font>{ procEntAttr = val; }
-00588 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> isProcessEntryAttributes()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> procEntAttr; }
-00589 };
-00590
-00591
-00592 <font class="preprocessor">#endif</font>
-</pre></div><hr><address align="right"><small>Generated on Thu Jun 20 22:13:00 2002 for The Sword Project by
+00578 SWORD_NAMESPACE_END
+00579 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Thu Oct 31 12:11:28 2002 for The Sword Project by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
-width=110 height=53></a>1.2.15 </small></address>
+width=110 height=53></a>1.2.17 </small></address>
</body>
</html>