<!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>