00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is a part of the libzmf 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 ZBRPARSER_H_INCLUDED 00011 #define ZBRPARSER_H_INCLUDED 00012 00013 #include <librevenge/librevenge.h> 00014 00015 #include "ZBRHeader.h" 00016 #include "ZMFCollector.h" 00017 #include "libzmf_utils.h" 00018 00019 namespace libzmf 00020 { 00021 00022 class ZBRParser 00023 { 00024 ZBRParser(const ZBRParser &other) = delete; 00025 ZBRParser &operator=(const ZBRParser &other) = delete; 00026 00027 public: 00028 ZBRParser(const RVNGInputStreamPtr &input, librevenge::RVNGDrawingInterface *painter); 00029 bool parse(); 00030 00031 protected: 00032 const RVNGInputStreamPtr m_input; 00033 ZMFCollector m_collector; 00034 ZBRHeader m_header; 00035 }; 00036 00037 } 00038 00039 #endif // ZBRPARSER_H_INCLUDED 00040 00041 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */