Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

SWModule Class Reference

The class SWModule is the base class for all modules used in Sword. More...

#include <swmodule.h>

Inheritance diagram for SWModule::

SWCom SWLD SWText List of all members.

Public Methods

 SWModule (const char *imodname=0, const char *imoddesc=0, SWDisplay *idisp=0, char *imodtype=0, bool unicode=false)
 Initializes data for instance of SWModule. More...

virtual ~SWModule ()
 Cleans up instance of SWModule.

virtual char Error ()
 Gets and clears error status. More...

virtual const bool isUnicode () const
virtual const int getEntrySize () const
virtual char SetKey (const SWKey *ikey)
 Sets a key to this module for position to a particular record or set of records. More...

virtual char SetKey (const SWKey &ikey)
 Sets the key of this module. More...

virtual SWKeyKey () const
 Gets the current module key. More...

virtual char Key (const SWKey &ikey)
 Sets the current key of the module to ikey, and returns the keytext. More...

virtual const char* KeyText (const char *imodtype=0)
 Sets/gets module KeyText. More...

virtual char Display ()
 Calls this modules display object and passes itself. More...

virtual SWDisplayDisp (SWDisplay *idisp=0)
 Sets/gets display driver. More...

virtual char* Name (const char *imodname=0)
 Sets/gets module name. More...

virtual char* Description (const char *imoddesc=0)
 Sets/gets module description. More...

virtual char* Type (const char *imodtype=0)
 Sets/gets module type. More...

virtual ListKeySearch (const char *istr, int searchType=0, int flags=0, SWKey *scope=0, bool *justCheckIfSupported=0, void(*percent)(char, void *)=&nullPercent, void *percentUserData=0)
 Searches a module for a string. More...

virtual char createSearchFramework ()
virtual bool hasSearchFramework ()
virtual bool isSearchOptimallySupported (const char *istr, int searchType, int flags, SWKey *scope)
virtual SWKeyCreateKey ()
 Allocates a key of specific type for module. More...

virtual operator char * ()
 Renders and returns the current module text. More...

virtual char* getRawEntry ()=0
 This function is reimplemented by the different kinds of module objects. More...

virtual operator SWKey & ()
virtual operator SWKey * ()
virtual bool isWritable ()
 Is the module writable? :). More...

virtual SWModule& operator<< (const char *)
 Modify the current module entry text only if module isWritable. More...

virtual SWModule& operator<< (const SWKey *)
 Link the current module entry to another module entry only if module isWritable. More...

virtual void deleteEntry ()
 Delete current module entry - only if module isWritable.

virtual SWModule& operator-= (int decrement)
 Decrements module key a number of entries. More...

virtual SWModule& operator+= (int increment)
 Increments module key a number of entries. More...

virtual SWModule& operator++ (int)
 Increments module key by 1 entry.

virtual SWModule& operator-- (int)
 Decrements module key by 1 entry.

virtual SWModule& operator= (SW_POSITION p)
 Positions this modules to an entry. More...

virtual SWModule& AddRenderFilter (SWFilter *newfilter)
 Adds a RenderFilter to this module's. More...

virtual SWModule& RemoveRenderFilter (SWFilter *oldfilter)
 Removes a RenderFilter to this module's. More...

virtual void renderFilter (char *buf, long size, SWKey *key)
 RenderFilter a text buffer. More...

virtual SWModule& AddStripFilter (SWFilter *newfilter)
 Adds a StripFilter to this module's stripfilters queue. More...

virtual void stripFilter (char *buf, long size, SWKey *key)
 StripFilter a text buffer. More...

virtual SWModule& AddRawFilter (SWFilter *newfilter)
 Adds a RawFilter to this module's rawfilters queue. More...

virtual void filterBuffer (FilterList *filters, char *buf, long size, SWKey *key)
 FilterBuffer a text buffer. More...

virtual void rawFilter (char *buf, long size, SWKey *key)
 RawFilter a text buffer. More...

virtual SWModule& AddOptionFilter (SWFilter *newfilter)
 Adds an OptionFilter to this module's optionfilters queue. More...

virtual void optionFilter (char *buf, long size, SWKey *key)
 OptionFilter a text buffer. More...

virtual const char* StripText (char *buf=0, int len=-1)
 calls all StripFilters on buffer or current text. More...

virtual const char* RenderText (char *buf=0, int len=-1)
 calls all RenderFilters on buffer or current text. More...

virtual const char* StripText (SWKey *tmpKey)
 calls all StripFilters on current text. More...

virtual const char* RenderText (SWKey *tmpKey)
 calls all RenderFilters on current text. More...


Public Attributes

bool terminateSearch
 Set this bool to false to terminate the search which is executed by this module (Search). More...


Static Public Methods

void nullPercent (char percent, void *userData)
 This is the default callback function for searching. More...

char createModule (const char *)
 Creates a new module. More...


Protected Attributes

char error
SWKeykey
 the current key.

ListKey listkey
char* modname
char* moddesc
char* modtype
SWDisplaydisp
 this module's display object.

char* entrybuf
FilterList* stripFilters
 executed to remove all markup (for searches).

FilterList* rawFilters
 executed immediately upon fileread.

FilterList* renderFilters
 executed to format for display.

FilterList* optionFilters
 executed to change markup to user prefs.

bool render
bool unicode
int entrySize

Static Protected Attributes

SWDisplay rawdisp

Detailed Description

The class SWModule is the base class for all modules used in Sword.

Definition at line 47 of file swmodule.h.


Constructor & Destructor Documentation

SWModule::SWModule ( const char * imodname = 0,
const char * imoddesc = 0,
SWDisplay * idisp = 0,
char * imodtype = 0,
bool unicode = false )
 

Initializes data for instance of SWModule.

Parameters:
imodname   Internal name for module; see also Name
imoddesc   Name to display to user for module; see also Description
idisp   Display object to use for displaying see also Disp
imodtype   Type of Module (All modules will be displayed with others of same type under their modtype heading) see also Type


Member Function Documentation

SWModule & SWModule::AddOptionFilter ( SWFilter * newfilter ) [inline, virtual]
 

Adds an OptionFilter to this module's optionfilters queue.

Parameters:
newfilter   the filter to add
Returns:
*this

Definition at line 443 of file swmodule.h.

SWModule & SWModule::AddRawFilter ( SWFilter * newfilter ) [inline, virtual]
 

Adds a RawFilter to this module's rawfilters queue.

Parameters:
newfilter   the filter to add
Returns:
*this

Definition at line 410 of file swmodule.h.

SWModule & SWModule::AddRenderFilter ( SWFilter * newfilter ) [inline, virtual]
 

Adds a RenderFilter to this module's.

See also:
renderfilters queue
Parameters:
newfilter   the filter to add
Returns:
*this

Definition at line 363 of file swmodule.h.

SWModule & SWModule::AddStripFilter ( SWFilter * newfilter ) [inline, virtual]
 

Adds a StripFilter to this module's stripfilters queue.

Parameters:
newfilter   the filter to add
Returns:
*this

Definition at line 391 of file swmodule.h.

SWKey * SWModule::CreateKey ( ) [virtual]
 

Allocates a key of specific type for module.

Returns:
pointer to allocated key

Reimplemented in SWCom, SWLD, and SWText.

char * SWModule::Description ( const char * imoddesc = 0 ) [virtual]
 

Sets/gets module description.

Parameters:
imoddesc   value which to set moddesc; [0] - only get
Returns:
pointer to moddesc

SWDisplay * SWModule::Disp ( SWDisplay * idisp = 0 ) [virtual]
 

Sets/gets display driver.

Parameters:
idisp   value which to set disp; [0] - only get
Returns:
pointer to disp

char SWModule::Display ( ) [virtual]
 

Calls this modules display object and passes itself.

Returns:
error status

char SWModule::Error ( ) [virtual]
 

Gets and clears error status.

Returns:
error status

char SWModule::Key ( const SWKey & ikey ) [inline, virtual]
 

Sets the current key of the module to ikey, and returns the keytext.

Parameters:
ikey   new current key for the module
Returns:
the keytext of the current module key

Definition at line 161 of file swmodule.h.

SWKey & SWModule::Key ( ) const [inline, virtual]
 

Gets the current module key.

Returns:
the current key of this module

Definition at line 151 of file swmodule.h.

const char * SWModule::KeyText ( const char * ikeytext = 0 ) [virtual]
 

Sets/gets module KeyText.

Parameters:
ikeytext   value which to set keytext; [0] - only get
Returns:
pointer to keytext

Reimplemented in SWLD.

char * SWModule::Name ( const char * imodname = 0 ) [virtual]
 

Sets/gets module name.

Parameters:
imodname   value which to set modname; [0] - only get
Returns:
pointer to modname

SWModule & SWModule::RemoveRenderFilter ( SWFilter * oldfilter ) [inline, virtual]
 

Removes a RenderFilter to this module's.

See also:
renderfilters queue
Parameters:
oldfilter   the filter to remove
Returns:
*this

Definition at line 372 of file swmodule.h.

const char * SWModule::RenderText ( SWKey * tmpKey ) [virtual]
 

calls all RenderFilters on current text.

Parameters:
tmpKey   key to use to grab text
Returns:
this module's text at specified key location massaged by Render filters

const char * SWModule::RenderText ( char * buf = 0,
int len = -1 ) [virtual]
 

calls all RenderFilters on buffer or current text.

Parameters:
buf   buffer to Render instead of current module position; if buf is NULL, the current text will be used
len   max len of buf OR current text -- will be applied anyway
Returns:
this module's text at specified key location massaged by Render filters

ListKey & SWModule::Search ( const char * istr,
int searchType = 0,
int flags = 0,
SWKey * scope = 0,
bool * justCheckIfSupported = 0,
void(* percent)(char, void *) = &nullPercent,
void * percentUserData = 0 ) [virtual]
 

Searches a module for a string.

Parameters:
istr   string for which to search
searchType   type of search to perform >=0 ->regex; 1->phrase; 2->multiword;
flags   options flags for search
justCheckIfSupported   if set, don't search, only tell if this function supports requested search.

Returns:
listkey set to verses that contain istr

char SWModule::SetKey ( const SWKey & ikey ) [virtual]
 

Sets the key of this module.

Similair to

See also:
SetKey(const SWKey*) .
Parameters:
ikey   The SWKey which should be used as new key.
Returns:
Error status

char SWModule::SetKey ( const SWKey * ikey ) [virtual]
 

Sets a key to this module for position to a particular record or set of records.

Parameters:
ikey   key with which to set this module
Returns:
error status

Referenced by Key().

const char * SWModule::StripText ( SWKey * tmpKey ) [virtual]
 

calls all StripFilters on current text.

Parameters:
tmpKey   key to use to grab text
Returns:
this module's text at specified key location massaged by Strip filters

const char * SWModule::StripText ( char * buf = 0,
int len = -1 ) [virtual]
 

calls all StripFilters on buffer or current text.

Parameters:
buf   buf to massage instead of current module position; if buf is NULL, the current text will be used
len   max len of buf OR current text -- will be applied anyway
Returns:
this module's text at specified key location massaged by Strip filters

char * SWModule::Type ( const char * imodtype = 0 ) [virtual]
 

Sets/gets module type.

Parameters:
imodtype   value which to set modtype; [0] - only get
Returns:
pointer to modtype

char SWModule::createModule ( const char * path ) [inline, static]
 

Creates a new module.

Parameters:
path   The first parameter is path of the new module
Returns:
error

Definition at line 296 of file swmodule.h.

void SWModule::filterBuffer ( FilterList * filters,
char * buf,
long size,
SWKey * key ) [inline, virtual]
 

FilterBuffer a text buffer.

Parameters:
filters   the FilterList of filters to iterate
buf   the buffer to filter
size   the allocated size of the buffer
key   key location from where this buffer was extracted
Returns:
*this

Definition at line 422 of file swmodule.h.

Referenced by optionFilter(), rawFilter(), renderFilter(), and stripFilter().

const int SWModule::getEntrySize ( ) const [inline, virtual]
 

Returns:
The size of the current entry.

Definition at line 130 of file swmodule.h.

char * SWModule::getRawEntry ( ) [pure virtual]
 

This function is reimplemented by the different kinds of module objects.

Returns:
the raw module text of the current entry

const bool SWModule::isUnicode ( ) const [inline, virtual]
 

Returns:
True if this module is encoded in Unicode, otherwise return false.

Definition at line 126 of file swmodule.h.

bool SWModule::isWritable ( ) [inline, virtual]
 

Is the module writable? :).

Returns:
yes or no

Definition at line 288 of file swmodule.h.

void SWModule::nullPercent ( char percent,
void * userData ) [static]
 

This is the default callback function for searching.

This function is a placeholder and does nothing. You can define your own function for search progress evaluation, and pass it over to Search.

SWModule::operator char * ( ) [virtual]
 

Renders and returns the current module text.

Returns:
the rendered current module text

SWModule & SWModule::operator+= ( int increment ) [virtual]
 

Increments module key a number of entries.

Parameters:
increment   Number of entries to jump forward
Returns:
*this

SWModule & SWModule::operator-= ( int decrement ) [virtual]
 

Decrements module key a number of entries.

Parameters:
decrement   Number of entries to jump backward
Returns:
*this

SWModule & SWModule::operator<< ( const SWKey * linkKey ) [inline, virtual]
 

Link the current module entry to another module entry only if module isWritable.

  • Returns:
    *this

Definition at line 312 of file swmodule.h.

SWModule & SWModule::operator<< ( const char * inbuf ) [inline, virtual]
 

Modify the current module entry text only if module isWritable.

  • Returns:
    *this

Definition at line 304 of file swmodule.h.

SWModule & SWModule::operator= ( SW_POSITION pos ) [virtual]
 

Positions this modules to an entry.

Parameters:
p   position (e.g. TOP, BOTTOM)
Returns:
*this

void SWModule::optionFilter ( char * buf,
long size,
SWKey * key ) [inline, virtual]
 

OptionFilter a text buffer.

Parameters:
buf   the buffer to filter
size   the allocated size of the buffer
key   key location from where this buffer was extracted
Returns:
*this

Definition at line 454 of file swmodule.h.

void SWModule::rawFilter ( char * buf,
long size,
SWKey * key ) [inline, virtual]
 

RawFilter a text buffer.

Parameters:
buf   the buffer to filter
size   the allocated size of the buffer
key   key location from where this buffer was extracted
Returns:
*this

Definition at line 435 of file swmodule.h.

void SWModule::renderFilter ( char * buf,
long size,
SWKey * key ) [inline, virtual]
 

RenderFilter a text buffer.

Parameters:
buf   the buffer to filter
size   the allocated size of the buffer
key   key location from where this buffer was extracted
Returns:
*this

Definition at line 383 of file swmodule.h.

void SWModule::stripFilter ( char * buf,
long size,
SWKey * key ) [inline, virtual]
 

StripFilter a text buffer.

Parameters:
buf   the buffer to filter
size   the allocated size of the buffer
key   key location from where this buffer was extracted
Returns:
*this

Definition at line 402 of file swmodule.h.


Member Data Documentation

bool SWModule::terminateSearch
 

Set this bool to false to terminate the search which is executed by this module (Search).

This is useful for threaded applications to terminate the search in another thread.

Definition at line 97 of file swmodule.h.


The documentation for this class was generated from the following file:
Generated at Fri Oct 5 22:45:37 2001 for The Sword Project by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001