swfiltermgr.h

00001 /******************************************************************************
00002  *  swfiltermgr.h   - definition of class SWFilterMgr used as an interface to
00003  *                              manage filters on a module
00004  *
00005  * $Id: swfiltermgr.h 1864 2005-11-20 06:06:40Z scribe $
00006  *
00007  * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
00008  *      CrossWire Bible Society
00009  *      P. O. Box 2528
00010  *      Tempe, AZ  85280-2528
00011  *
00012  * This program is free software; you can redistribute it and/or modify it
00013  * under the terms of the GNU General Public License as published by the
00014  * Free Software Foundation version 2.
00015  *
00016  * This program is distributed in the hope that it will be useful, but
00017  * WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * General Public License for more details.
00020  *
00021  */
00022 
00023 #ifndef SWFILTERMGR_H
00024 #define SWFILTERMGR_H
00025 
00026 #include <defs.h>
00027 #include <swconfig.h>
00028 
00029 SWORD_NAMESPACE_START
00030 
00031 class SWModule;
00032 class SWMgr;
00033 
00036 class SWDLLEXPORT SWFilterMgr {
00037 
00038 private:
00039         SWMgr *parentMgr;
00040 
00041 public:
00042   SWFilterMgr();
00043   virtual ~SWFilterMgr();
00044 
00045   virtual void setParentMgr(SWMgr *parentMgr);
00046   virtual SWMgr *getParentMgr();
00047 
00048   virtual void AddGlobalOptions(SWModule *module, ConfigEntMap &section, ConfigEntMap::iterator start,
00049                                  ConfigEntMap::iterator end);
00050   virtual void AddLocalOptions(SWModule *module, ConfigEntMap &section, ConfigEntMap::iterator start,
00051                                 ConfigEntMap::iterator end);
00052 
00053 
00059   virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
00060 
00061 
00067   virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
00068 
00069 
00075   virtual void AddStripFilters(SWModule *module, ConfigEntMap &section);
00076 
00077 
00083   virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
00084 
00085 };
00086 SWORD_NAMESPACE_END
00087 #endif