summaryrefslogtreecommitdiff
path: root/bibletime/backend/cswordbackend.h
diff options
context:
space:
mode:
Diffstat (limited to 'bibletime/backend/cswordbackend.h')
-rw-r--r--bibletime/backend/cswordbackend.h266
1 files changed, 0 insertions, 266 deletions
diff --git a/bibletime/backend/cswordbackend.h b/bibletime/backend/cswordbackend.h
deleted file mode 100644
index 90d7031..0000000
--- a/bibletime/backend/cswordbackend.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/*********
-*
-* This file is part of BibleTime's source code, http://www.bibletime.info/.
-*
-* Copyright 1999-2006 by the BibleTime developers.
-* The BibleTime source code is licensed under the GNU General Public License version 2.0.
-*
-**********/
-
-
-
-#ifndef CSWORDBACKEND_H
-#define CSWORDBACKEND_H
-
-//BibleTime includes
-#include "cswordmoduleinfo.h"
-//#include "centrydisplay.h"
-
-//Qt includes
-#include <qptrlist.h>
-#include <qmap.h>
-#include <qstring.h>
-#include <qstringlist.h>
-
-//Sword includes
-#include <swmgr.h>
-#include <swbuf.h>
-#include <swmodule.h>
-#include <swversion.h>
-#include <localemgr.h>
-#include <utilstr.h>
-
-using namespace sword;
-
-namespace Rendering {
-
- class CEntryDisplay;
-
- class CChapterDisplay;
-
- class CBookDisplay;
-}
-
-/** The backend layer main class.
- * This is the implementation of CBackend for Sword. It's additionally derived from SWMgr
- * to provide functions of Sword.
- *
- * @short The backend implementation of Sword
- * @author The BibleTime team
- * @version $Id: cswordbackend.h,v 1.58 2007/03/14 21:32:47 joachim Exp $
- */
-
-class CSwordBackend : public sword::SWMgr {
-
-public:
- /** Filter options. Filter options to
- * control the text display of modules. Uses int and not bool because not all
- * options have just two toggle values.
- */
-
- struct FilterOptions {
- int footnotes; /**< 0 for disabled, 1 for enabled */
- int strongNumbers; /**< 0 for disabled, 1 for enabled */
- int headings; /**< 0 for disabled, 1 for enabled */
- int morphTags; /**< 0 for disabled, 1 for enabled */
- int lemmas; /**< 0 for disabled, 1 for enabled */
- int hebrewPoints; /**< 0 for disabled, 1 for enabled */
- int hebrewCantillation; /**< 0 for disabled, 1 for enabled */
- int greekAccents; /**< 0 for disabled, 1 for enabled */
- int textualVariants; /**< Number n to enabled the n-th variant */
- int redLetterWords; /**< 0 for disabled, 1 for enabled */
- int scriptureReferences; /**< 0 for disabled, 1 for enabled */
- int morphSegmentation; /**< 0 for disabled, 1 for enabled */
- };
-
- /** Control the display of a text.
- */
-
- struct DisplayOptions {
- int lineBreaks;
- int verseNumbers;
- };
-
- /** The error codes which may be returned by the @ref Load() call.
- */
- enum LoadError { // the values exist to cast from the char return of SWMgr::Load
- NoSwordConfig = -1,
- NoError = 0,
- NoModules = 1
- };
- /**
- * The constructor of the Sword backend.
- * It creates the SWModule objects using SWMgr's methods, it adds the necessary
- * filters for the module format.
- */
- CSwordBackend();
- /**
- * The constructor of the Sword backend.
- * @param path The path which is used to load modules
- * @param augmentHome True if the $HOME/.sword/ modules should be augmented with the other modules
- */
- CSwordBackend( const QString& path, const bool augmentHome = true );
-
- /**
- * The destrctor of this backend. This function shuts the modules down using @ref shutdownModules.
- */
- virtual ~CSwordBackend();
-
- /**
- * This function returns the list of available modules managed by this backend.
- * You have to call initModules() first;
- *
- * @return The list of modules managed by this backend
- */
- inline virtual ListCSwordModuleInfo& moduleList();
- /**
- * Initializes the Sword modules.
- *
- * @return True if the initializiation was succesful, otherwise return false.
- */
- virtual const CSwordBackend::LoadError initModules();
- /**
- * This function deinitializes the modules and deletes them.
- *
- * @return True if it was succesful, otherwise return false
- */
- virtual const bool shutdownModules();
- /**
- * Sets the given options enabled or disabled depending on the second parameter.
- *
- * @param type This is the type this function should set enabled or disabled
- * @param enable If this is true the option will be enabled, otherwise it will be disabled.
- */
- void setOption( const CSwordModuleInfo::FilterTypes type, const int state );
- void setFilterOptions( const CSwordBackend::FilterOptions options );
- void setDisplayOptions( const CSwordBackend::DisplayOptions options );
- /**
- * Returns true if the given option is enabled.
- *
- * @return Returns true if the options given as aparameter is switched on at this time, otherwise return false.
- */
- virtual const bool isOptionEnabled( const CSwordModuleInfo::FilterTypes type);
- /**
- * Sets the language for the international booknames of Sword.
- * @param langName The abbreviation string which should be used for the Sword backend
- */
- const QString booknameLanguage( const QString& langName = QString::null );
- /**
- * This function searches for a module with the specified description
- * @param description The description of the desired module
- * @return pointer to the desired module; null if no module has the specified description
- */
- virtual CSwordModuleInfo* const findModuleByDescription(const QString& description);
- /**
- * This function searches for a module with the specified description
- * @param description The description of the desired module
- * @return pointer to the desired module; null if no module has the specified description
- */
- const QString findModuleNameByDescription(const QString& description);
- /**
- * This function searches for a module with the specified name
- * @param name The name of the desired module
- * @return Pointer to the desired module; null if no module has the specified name
- */
- CSwordModuleInfo* const findModuleByName(const QString& name);
- /**
- * This function searches for a module with the specified sword module as module() object!
- * @param swmodule to a Sword module
- * @return pointer to the desired module; null if no module has the specified name
- */
- CSwordModuleInfo* const findSwordModuleByPointer(const sword::SWModule* const swmodule);
- /**
- * This function searches for a module which is the same as the passed module.
- * @param module The module which should be used for searching the new one. May be child of a different backend.
- * @return Pointer to the desired module; null if no module has the specified name
- */
- CSwordModuleInfo* const findModuleByPointer(const CSwordModuleInfo* const module);
- /**
- * @return Our global config object which contains the configs of all modules merged together.
- */
- inline sword::SWConfig* const getConfig() const;
- /**
- * Tries to find the config object for the module. The second paramter will be the found config.
- * @return True if the config was found, false if not. If false is returned the moduleConfig object is in undefined/unknwon state.
- */
- const bool moduleConfig(const QString& module, sword::SWConfig& moduleConfig );
- /**
- * Returns the text used for the option given as parameter.
- * @param The paramter enum
- * @return The name of the option given by the parameter
- */
- static const QString optionName( const CSwordModuleInfo::FilterTypes option );
- /**
- * Returns the text used for the option given as parameter.
- */
- static const QString configOptionName( const CSwordModuleInfo::FilterTypes option );
- /**
- * Returns the translated name of the option given as parameter.
- * @param The translated option name
- */
- static const QString translatedOptionName(const CSwordModuleInfo::FilterTypes option );
- /**
- * Returns the version of the Sword library.
- * @return The version used by this backend
- */
- inline virtual const sword::SWVersion Version();
- /**
- * Reload all Sword modules.
- */
- void reloadModules();
- /** Sword prefix list.
- * @return A list of all known Sword prefix dirs
- */
- const QStringList swordDirList();
-
-protected:
- /**
- * Adds a render filter to the module.
- * @param module Add a render filter to this module!
- */
- virtual void AddRenderFilters(sword::SWModule *module, sword::ConfigEntMap &section);
- /**
- * Initializes the filters provided by BibleTime.
- */
- virtual void filterInit();
-
-private:
- // Filters
-
- struct Filters {
- sword::SWFilter *gbf;
- sword::SWFilter *plain;
- sword::SWFilter *thml;
- sword::SWFilter *osis;
- }
-
- m_filters;
-
- struct Displays {
- Rendering::CChapterDisplay* chapter;
- Rendering::CEntryDisplay* entry;
- Rendering::CBookDisplay* book;
- }
-
- m_displays;
-
- ListCSwordModuleInfo m_moduleList;
- QMap<QString, QString> m_moduleDescriptionMap;
-};
-
-/**Returns The list of modules managed by this backend*/
-inline ListCSwordModuleInfo& CSwordBackend::moduleList() {
- return m_moduleList;
-}
-
-/** Returns our local config object to store the cipher keys etc. locally for each user. The values of the config are merged with the global config. */
-inline sword::SWConfig* const CSwordBackend::getConfig() const {
- return config;
-}
-
-/** Returns the version of the Sword library. */
-inline const sword::SWVersion CSwordBackend::Version() {
- return sword::SWVersion::currentVersion;
-}
-
-#endif