summaryrefslogtreecommitdiffstats
path: root/installerbuilder/libinstaller/qtcreatorpersistentsettings.h
blob: 0f8ca7c0790a35dbb83b18043eac86fdd7183a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef QTCREATORPERSISTENTSETTINGS_H
#define QTCREATORPERSISTENTSETTINGS_H

#include "persistentsettings.h"

#include <QHash>
#include <QString>
#include <QVariantMap>

struct QtCreatorToolChain
{
    QString key;
    QString type;
    QString displayName;
    QString abiString;
    QString compilerPath;
    QString debuggerPath;
    QString armVersion;
    QString force32Bit;
};

class QtCreatorPersistentSettings
{
public:
    QtCreatorPersistentSettings();
    bool init(const QString &fileName);
    bool addToolChain(const QtCreatorToolChain &toolChain);
    bool removeToolChain(const QtCreatorToolChain &toolChain);
    void addDefaultDebugger(const QString &abiString, const QString &debuggerPath);
    void removeDefaultDebugger(const QString &abiString);
    bool save();
    QHash<QString, QString> abiToDebuggerHash();

private:
    QHash<QString, QVariantMap> readValidToolChains();
    QHash<QString, QString> readAbiToDebuggerHash();
    bool versionCheck();

    QString m_fileName;
    QHash<QString, QVariantMap> m_toolChains;
    QHash<QString, QString> m_abiToDebuggerHash;
    ProjectExplorer::PersistentSettingsReader m_reader;
    ProjectExplorer::PersistentSettingsWriter m_writer;

};

#endif // QTCREATORPERSISTENTSETTINGS_H