00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is part of the libe-book project. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this 00007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 00008 */ 00009 00010 #ifndef IMPTEXT_H_INCLUDED 00011 #define IMPTEXT_H_INCLUDED 00012 00013 #include <string> 00014 00015 00016 namespace libebook 00017 { 00018 00019 class IMPCollector; 00020 00021 class IMPText 00022 { 00023 // -Weffc++ 00024 IMPText(const IMPText &); 00025 IMPText &operator=(const IMPText &); 00026 00027 public: 00028 IMPText(librevenge::RVNGInputStream *input, IMPCollector *collector); 00029 00030 bool parse(); 00031 00032 private: 00033 void flushText(); 00034 00035 private: 00036 librevenge::RVNGInputStream *const m_input; 00037 IMPCollector *const m_collector; 00038 00039 std::string m_text; 00040 bool m_openHeader; 00041 bool m_openFooter; 00042 }; 00043 00044 } 00045 00046 #endif // IMPTEXT_H_INCLUDED 00047 00048 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */