<!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>swmgr.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>swmgr.h</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************</font> 00002 <font class="comment"> * swmgr.h - definition of class SWMgr used to interact with an install</font> 00003 <font class="comment"> * base of sword modules.</font> 00004 <font class="comment"> *</font> 00005 <font class="comment"> * $Id: swmgr_8h-source.html,v 1.7 2002/06/20 20:23:10 mgruner Exp $</font> 00006 <font class="comment"> *</font> 00007 <font class="comment"> * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)</font> 00008 <font class="comment"> * CrossWire Bible Society</font> 00009 <font class="comment"> * P. O. Box 2528</font> 00010 <font class="comment"> * Tempe, AZ 85280-2528</font> 00011 <font class="comment"> *</font> 00012 <font class="comment"> * This program is free software; you can redistribute it and/or modify it</font> 00013 <font class="comment"> * under the terms of the GNU General Public License as published by the</font> 00014 <font class="comment"> * Free Software Foundation version 2.</font> 00015 <font class="comment"> *</font> 00016 <font class="comment"> * This program is distributed in the hope that it will be useful, but</font> 00017 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> 00018 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> 00019 <font class="comment"> * General Public License for more details.</font> 00020 <font class="comment"> *</font> 00021 <font class="comment"> */</font> 00022 00039 <font class="preprocessor">#ifndef SWMGR_H</font> 00040 <font class="preprocessor"></font><font class="preprocessor">#define SWMGR_H</font> 00041 <font class="preprocessor"></font> 00042 <font class="preprocessor">#include <sys/types.h></font> 00043 <font class="preprocessor">#include <string></font> 00044 <font class="preprocessor">#include <map></font> 00045 <font class="preprocessor">#include <list></font> 00046 <font class="preprocessor">#include <swmodule.h></font> 00047 <font class="preprocessor">#include <swconfig.h></font> 00048 <font class="preprocessor">#include <swlog.h></font> 00049 <font class="preprocessor">#include <swfiltermgr.h></font> 00050 00051 <font class="preprocessor">#include <defs.h></font> 00052 00053 <font class="keyword">using</font> <font class="keyword">namespace </font>std; 00054 00055 <font class="keyword">typedef</font> map < string, SWModule *, less < string > >ModMap; 00056 <font class="keyword">typedef</font> list < string > OptionsList; 00057 <font class="keyword">typedef</font> map < string, SWFilter * >FilterMap; 00058 <a name="l00069"></a><a class="code" href="class_s_w_mgr.html">00069</a> <font class="keyword">class </font>SWDLLEXPORT <a class="code" href="class_s_w_mgr.html">SWMgr</a> { 00070 00071 <font class="keyword">private</font>: 00072 <font class="keywordtype">void</font> commonInit(<a class="code" href="class_s_w_config.html">SWConfig</a> * iconfig, <a class="code" href="class_s_w_config.html">SWConfig</a> * isysconfig, <font class="keywordtype">bool</font> autoload, SWFilterMgr *filterMgr); 00073 00074 <font class="keyword">protected</font>: 00075 SWFilterMgr *filterMgr; <font class="comment">//made protected because because BibleTime needs it</font> 00076 <a class="code" href="class_s_w_config.html">SWConfig</a> * myconfig; <font class="comment">//made protected because because BibleTime needs it</font> 00077 <a class="code" href="class_s_w_config.html">SWConfig</a> *mysysconfig; 00078 <a class="code" href="class_s_w_config.html">SWConfig</a> *homeConfig; 00079 <font class="keywordtype">void</font> CreateMods (); 00080 <a class="code" href="class_s_w_module.html">SWModule</a> *CreateMod (string name, string driver, ConfigEntMap & section); 00081 <font class="keywordtype">void</font> DeleteMods (); 00082 <font class="keywordtype">char</font> configType; <font class="comment">// 0 = file; 1 = directory</font> 00083 FilterMap optionFilters; 00084 FilterMap cipherFilters; 00085 SWFilter *gbfplain; 00086 SWFilter *thmlplain; 00087 FilterList cleanupFilters; 00088 OptionsList options; 00089 <font class="keyword">virtual</font> <font class="keywordtype">void</font> init (); <font class="comment">// use to initialize before loading modules</font> 00090 <font class="keyword">virtual</font> <font class="keywordtype">char</font> AddModToConfig (<font class="keywordtype">int</font> conffd, <font class="keyword">const</font> <font class="keywordtype">char</font> *fname); 00091 <font class="keyword">virtual</font> <font class="keywordtype">void</font> loadConfigDir (<font class="keyword">const</font> <font class="keywordtype">char</font> *ipath); 00092 <font class="keyword">virtual</font> <font class="keywordtype">void</font> AddGlobalOptions (<a class="code" href="class_s_w_module.html">SWModule</a> * module, ConfigEntMap & section, 00093 ConfigEntMap::iterator start, 00094 ConfigEntMap::iterator end); 00095 <font class="keyword">virtual</font> <font class="keywordtype">void</font> AddLocalOptions (<a class="code" href="class_s_w_module.html">SWModule</a> * module, ConfigEntMap & section, 00096 ConfigEntMap::iterator start, 00097 ConfigEntMap::iterator end); 00098 00104 <font class="keyword">virtual</font> <font class="keywordtype">void</font> AddEncodingFilters (<a class="code" href="class_s_w_module.html">SWModule</a> * module, ConfigEntMap & section); 00110 <font class="keyword">virtual</font> <font class="keywordtype">void</font> AddRenderFilters (<a class="code" href="class_s_w_module.html">SWModule</a> * module, ConfigEntMap & section); 00116 <font class="keyword">virtual</font> <font class="keywordtype">void</font> AddStripFilters (<a class="code" href="class_s_w_module.html">SWModule</a> * module, ConfigEntMap & section); 00122 <font class="keyword">virtual</font> <font class="keywordtype">void</font> AddRawFilters (<a class="code" href="class_s_w_module.html">SWModule</a> * module, ConfigEntMap & section); 00123 00124 <font class="keyword">public</font>: 00125 00130 <font class="keyword">static</font> <font class="keywordtype">bool</font> debug; 00131 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *globalConfPath; 00135 <font class="keyword">static</font> <font class="keywordtype">void</font> findConfig (<font class="keywordtype">char</font> *configType, <font class="keywordtype">char</font> **prefixPath, 00136 <font class="keywordtype">char</font> **configPath); <a name="l00145"></a><a class="code" href="class_s_w_mgr.html#m0">00145</a> <a class="code" href="class_s_w_config.html">SWConfig</a> *config; 00149 <a class="code" href="class_s_w_config.html">SWConfig</a> *sysconfig; <a name="l00172"></a><a class="code" href="class_s_w_mgr.html#m2">00172</a> ModMap Modules; <a name="l00176"></a><a class="code" href="class_s_w_mgr.html#m3">00176</a> <font class="keywordtype">char</font> *prefixPath; 00180 <font class="keywordtype">char</font> *configPath; 00181 00189 <a class="code" href="class_s_w_mgr.html">SWMgr</a> (<a class="code" href="class_s_w_config.html">SWConfig</a> * iconfig = 0, <a class="code" href="class_s_w_config.html">SWConfig</a> * isysconfig = 0, <font class="keywordtype">bool</font> autoload = <font class="keyword">true</font>, SWFilterMgr *filterMgr = 0); 00194 <a class="code" href="class_s_w_mgr.html">SWMgr</a> (SWFilterMgr *filterMgr); 00204 <a class="code" href="class_s_w_mgr.html">SWMgr</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *iConfigPath, <font class="keywordtype">bool</font> autoload = <font class="keyword">true</font>, SWFilterMgr *filterMgr = 0); 00210 <font class="keyword">virtual</font> ~<a class="code" href="class_s_w_mgr.html">SWMgr</a> (); 00214 <font class="keyword">virtual</font> <font class="keywordtype">void</font> InstallScan (<font class="keyword">const</font> <font class="keywordtype">char</font> *dir); 00219 <font class="keyword">virtual</font> <font class="keywordtype">signed</font> <font class="keywordtype">char</font> Load (); 00227 <font class="keyword">virtual</font> <font class="keywordtype">void</font> setGlobalOption (<font class="keyword">const</font> <font class="keywordtype">char</font> *option, <font class="keyword">const</font> <font class="keywordtype">char</font> *value); 00232 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *getGlobalOption (<font class="keyword">const</font> <font class="keywordtype">char</font> *option); 00238 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *getGlobalOptionTip (<font class="keyword">const</font> <font class="keywordtype">char</font> *option); 00242 <font class="keyword">virtual</font> OptionsList getGlobalOptions (); 00246 <font class="keyword">virtual</font> OptionsList getGlobalOptionValues (<font class="keyword">const</font> <font class="keywordtype">char</font> *option); 00288 <font class="keyword">virtual</font> <font class="keywordtype">signed</font> <font class="keywordtype">char</font> setCipherKey (<font class="keyword">const</font> <font class="keywordtype">char</font> *modName, <font class="keyword">const</font> <font class="keywordtype">char</font> *key); 00289 }; 00290 <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>