File indexing completed on 2024-10-27 13:24:18
0001 /* 0002 SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #ifndef OSM_ABSTRACTWRITER_H 0007 #define OSM_ABSTRACTWRITER_H 0008 0009 #include "kosm_export.h" 0010 0011 class QIODevice; 0012 0013 namespace OSM { 0014 0015 class DataSet; 0016 0017 /** Abstract base class for OSM file format writers. */ 0018 class KOSM_EXPORT AbstractWriter 0019 { 0020 public: 0021 virtual ~AbstractWriter(); 0022 0023 /** Write the given data set into @p io. 0024 * @param io has to be open. 0025 */ 0026 void write(const OSM::DataSet &dataSet, QIODevice *io); 0027 0028 protected: 0029 virtual void writeToIODevice(const OSM::DataSet &dataSet, QIODevice *io) = 0; 0030 }; 0031 0032 } 0033 0034 #endif // OSM_ABSTRACTWRITER_H