File indexing completed on 2024-12-08 10:16:04
0001 /* 0002 SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #ifndef OSM_IO_H 0007 #define OSM_IO_H 0008 0009 #include "kosm_export.h" 0010 #include "abstractreader.h" 0011 #include "abstractwriter.h" 0012 0013 class QStringView; 0014 0015 #include <memory> 0016 0017 namespace OSM { 0018 0019 class DataSet; 0020 0021 /** Access to OSM file/data readers. */ 0022 namespace IO 0023 { 0024 0025 /** Returns a suitable reader for the given file name. */ 0026 KOSM_EXPORT std::unique_ptr<AbstractReader> readerForFileName(QStringView fileName, OSM::DataSet *dataSet); 0027 /** Returns a suitable reader for the given MIME type. */ 0028 KOSM_EXPORT std::unique_ptr<AbstractReader> readerForMimeType(QStringView mimeType, OSM::DataSet *dataSet); 0029 0030 /** Returns a suitable writer for the given file name. */ 0031 KOSM_EXPORT std::unique_ptr<AbstractWriter> writerForFileName(QStringView fileName); 0032 /** Returns a suitable writer for the given MIME type. */ 0033 KOSM_EXPORT std::unique_ptr<AbstractWriter> writerForMimeType(QStringView mimeType); 0034 0035 } 0036 0037 } 0038 0039 #endif // OSM_IO_H