File indexing completed on 2024-04-21 03:49:51

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2009 Henry de Valence <hdevalence@gmail.com>
0004 // SPDX-FileCopyrightText: 2009 David Roberts <dvdr18@gmail.com>
0005 // SPDX-FileCopyrightText: 2012 Mohammed Nafees <nafees.technocool@gmail.com>
0006 // SPDX-FileCopyrightText: 2014 Dennis Nienhüser <nienhueser@kde.org>
0007 
0008 #ifndef MARBLE_PLANETFACTORY_H
0009 #define MARBLE_PLANETFACTORY_H
0010 
0011 #include "marble_export.h"
0012 
0013 #include <QList>
0014 
0015 class QString;
0016 
0017 namespace Marble
0018 {
0019 
0020 class Planet;
0021 
0022 /**
0023  * @brief The PlanetFactory class provides static methods to construct any planet known to Marble
0024  */
0025 class MARBLE_EXPORT PlanetFactory
0026 {
0027 public:
0028     /** Provides a list of known planet IDs */
0029     static QList<QString> planetList();
0030 
0031     /** Creates the planet with the given ID, or one with default values if ID is not among planetList() */
0032     static Planet construct( const QString &id );
0033 
0034     /** Returns a localized name of the planet with the given ID */
0035     static QString localizedName( const QString &id );
0036 };
0037 
0038 }
0039 
0040 #endif