/********* * * 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 CSWORDGENBOOKMODULEINFO_H #define CSWORDGENBOOKMODULEINFO_H //BibleTime includes #include "cswordmoduleinfo.h" //Sword includes #include /** Class for generic book support * @author The BibleTime team */ class CSwordBookModuleInfo : public CSwordModuleInfo { public: /** Constructor. * @param module The module which belongs to this object * @param backend The parent backend for this book module. */ CSwordBookModuleInfo( sword::SWModule* module, CSwordBackend* const backend = CPointers::backend() ); /** Copy constructor. * Copy constructor to copy the passed parameter. * @param module The module which should be copied. */ CSwordBookModuleInfo( const CSwordBookModuleInfo& module ); /** Destructor. */ ~CSwordBookModuleInfo(); /** * Returns the type of the module. */ virtual const CSwordModuleInfo::ModuleType type() const; /** * Returns the maximal depth of sections and subsections. */ const int depth(); /** * @return A treekey filled with the structure of this module. Don't delete the returned key because it's casted from the module object. */ sword::TreeKeyIdx* const tree() const; private: /** * A recursive helper function to help computng the module depth! */ void computeDepth(sword::TreeKeyIdx* key, int level = 0 ); int m_depth; }; inline const CSwordBookModuleInfo::ModuleType CSwordBookModuleInfo::type() const { return CSwordModuleInfo::GenericBook; } #endif