File indexing completed on 2024-04-28 03:49:29

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2010 Niko Sams <niko.sams@gmail.com>
0004 // SPDX-FileCopyrightText: 2010 Dennis Nienhüser <nienhueser@kde.org>
0005 //
0006 
0007 #ifndef MARBLE_ROUTINGPROFILE_H
0008 #define MARBLE_ROUTINGPROFILE_H
0009 
0010 #include "marble_export.h"
0011 
0012 #include <QString>
0013 #include <QHash>
0014 #include <QVariant>
0015 
0016 namespace Marble
0017 {
0018 
0019 class MARBLE_EXPORT RoutingProfile {
0020     Q_PROPERTY(QString name READ name WRITE setName)
0021     Q_PROPERTY(TransportType transportType READ transportType WRITE setTransportType)
0022 
0023 public:
0024     enum TransportType {
0025         Motorcar,
0026         Bicycle,
0027         Pedestrian
0028     };
0029 
0030     explicit RoutingProfile( const QString &name = QString() );
0031 
0032     QString name() const;
0033 
0034     void setName( const QString &name );
0035 
0036     const QHash<QString, QHash<QString, QVariant> >& pluginSettings() const;
0037 
0038     QHash<QString, QHash<QString, QVariant> >& pluginSettings();
0039 
0040     void setTransportType( TransportType transportType );
0041 
0042     TransportType transportType() const;
0043 
0044     bool operator==( const RoutingProfile &other ) const;
0045 
0046 private:
0047     QString m_name;
0048     //icon
0049     QHash<QString, QHash<QString, QVariant> > m_pluginSettings;
0050 
0051     TransportType m_transportType;
0052 };
0053 
0054 }
0055 
0056 #endif