<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>swmodule.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.15 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </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> 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 <swdisp.h></font> 00028 <font class="preprocessor">#include <swkey.h></font> 00029 <font class="preprocessor">#include <listkey.h></font> 00030 <font class="preprocessor">#include <swfilter.h></font> 00031 <font class="preprocessor">#include <swconfig.h></font> 00032 <font class="preprocessor">#include <swcacher.h></font> 00033 <font class="preprocessor">#include <list></font> 00034 00035 <font class="preprocessor">#include <defs.h></font> 00036 <font class="preprocessor">#include <multimapwdef.h></font> 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 < SWFilter * >FilterList; 00043 00044 <font class="keyword">typedef</font> map < string, string, less < string > > AttributeValue; 00045 <font class="keyword">typedef</font> map < string, AttributeValue, less < string > > AttributeList; 00046 <font class="keyword">typedef</font> map < string, AttributeList, less < string > > 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; 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; 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; 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 &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> &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> & 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> & 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> & 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> *) = &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, &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 & () { 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> & 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> & operator << (<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> & operator << (<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> & operator -= (<font class="keywordtype">int</font> decrement); 00391 <font class="keyword">virtual</font> <a class="code" href="class_s_w_module.html">SWModule</a> & 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> & 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> & 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> & 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> & AddRenderFilter (SWFilter * newfilter) { 00415 renderFilters->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> & RemoveRenderFilter (SWFilter * oldfilter) { 00423 renderFilters->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> & ReplaceRenderFilter (SWFilter * oldfilter, SWFilter * newfilter) { 00432 FilterList::iterator iter; 00433 <font class="keywordflow">for</font> (iter = renderFilters->begin(); iter != renderFilters->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> & AddEncodingFilter (SWFilter * newfilter) { 00452 encodingFilters->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> & RemoveEncodingFilter (SWFilter * oldfilter) { 00460 encodingFilters->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> & ReplaceEncodingFilter (SWFilter * oldfilter, SWFilter * newfilter) { 00469 FilterList::iterator iter; 00470 <font class="keywordflow">for</font> (iter = encodingFilters->begin(); iter != encodingFilters->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> & AddStripFilter (SWFilter * newfilter) { 00489 stripFilters->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> & AddRawFilter (SWFilter * newfilter) { 00506 rawFilters->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->begin(); it != filters->end(); it++) { 00519 (*it)->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> & AddOptionFilter (SWFilter * newfilter) { 00537 optionFilters->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); 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 &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 <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> </body> </html>