00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is part of the libvisio 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 __VSDXMETADATA_H__ 00011 #define __VSDXMETADATA_H__ 00012 00013 #include <librevenge-stream/librevenge-stream.h> 00014 #include "VSDXMLHelper.h" 00015 00016 namespace libvisio 00017 { 00018 00020 class VSDXMetaData 00021 { 00022 public: 00023 VSDXMetaData(); 00024 ~VSDXMetaData(); 00025 bool parse(librevenge::RVNGInputStream *input); 00026 const librevenge::RVNGPropertyList &getMetaData(); 00027 00028 private: 00029 VSDXMetaData(const VSDXMetaData &); 00030 VSDXMetaData &operator=(const VSDXMetaData &); 00031 00032 int getElementToken(xmlTextReaderPtr reader); 00033 void readCoreProperties(xmlTextReaderPtr reader); 00034 librevenge::RVNGString readString(xmlTextReaderPtr reader, int stringTokenId); 00035 00036 librevenge::RVNGPropertyList m_metaData; 00037 }; 00038 00039 } // namespace libvisio 00040 00041 #endif // __VSDXMETADATA_H__ 00042 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */