File indexing completed on 2024-05-05 03:50:56

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2009 Bastian Holst <bastianholst@gmx.de>
0004 //
0005 
0006 #ifndef GEONAMESPARSER_H
0007 #define GEONAMESPARSER_H
0008 
0009 #include <QList>
0010 #include <QXmlStreamReader>
0011 
0012 class QByteArray;
0013 class QObject;
0014 
0015 namespace Marble
0016 {
0017 
0018 class MarbleWidget;
0019 class WikipediaItem;
0020 
0021 class GeonamesParser : public QXmlStreamReader
0022 {
0023 public:
0024     GeonamesParser( MarbleWidget* widget,
0025                     QList<WikipediaItem *> *list,
0026                     QObject *parent );
0027 
0028     bool read( const QByteArray& data );
0029 
0030 private:
0031     void readUnknownElement();
0032     void readGeonames();
0033     void readEntry();
0034     void readTitle( WikipediaItem *item );
0035     void readLongitude( WikipediaItem *item );
0036     void readLatitude( WikipediaItem *item );
0037     void readUrl( WikipediaItem *item );
0038     void readSummary( WikipediaItem *item );
0039     void readThumbnailImage( WikipediaItem *item );
0040     void readRank( WikipediaItem *item );
0041 
0042     MarbleWidget* m_marbleWidget;
0043     QList<WikipediaItem *> *m_list;
0044     QObject *m_parent;
0045 };
0046 
0047 } // Marble namespace
0048 
0049 #endif // FLICKRPARSER