Differential D1047 Diff 2606 languages/plugins/custom-definesandincludes/compilerprovider/settingsmanager.h
Changeset View
Changeset View
Standalone View
Standalone View
languages/plugins/custom-definesandincludes/compilerprovider/settingsmanager.h
Show All 28 Lines | |||||
29 | 29 | | |||
30 | class KConfig; | 30 | class KConfig; | ||
31 | 31 | | |||
32 | namespace KDevelop { | 32 | namespace KDevelop { | ||
33 | class IProject; | 33 | class IProject; | ||
34 | class ProjectBaseItem; | 34 | class ProjectBaseItem; | ||
35 | } | 35 | } | ||
36 | 36 | | |||
37 | struct ParserArguments | ||||
38 | { | ||||
39 | ParserArguments(const QString& cArguments, const QString& cppArguments, bool parseAmbiguousAsCPP) | ||||
40 | : cArguments(cArguments) | ||||
mwolff: indent | |||||
41 | , cppArguments(cppArguments) | ||||
42 | , parseAmbiguousAsCPP(parseAmbiguousAsCPP) | ||||
43 | {} | ||||
mwolff: indent | |||||
44 | | ||||
45 | ParserArguments() = default; | ||||
46 | | ||||
47 | QString cArguments; | ||||
48 | QString cppArguments; | ||||
49 | bool parseAmbiguousAsCPP = true; | ||||
50 | }; | ||||
51 | | ||||
52 | Q_DECLARE_METATYPE(ParserArguments); | ||||
53 | | ||||
37 | struct ConfigEntry | 54 | struct ConfigEntry | ||
38 | { | 55 | { | ||
39 | QString path; | 56 | QString path; | ||
40 | QStringList includes; | 57 | QStringList includes; | ||
41 | KDevelop::Defines defines; | 58 | KDevelop::Defines defines; | ||
42 | CompilerPointer compiler; | 59 | CompilerPointer compiler; | ||
43 | QString parserArguments; | 60 | ParserArguments parserArguments; | ||
44 | 61 | | |||
45 | ConfigEntry( const QString& path = QString() ); | 62 | ConfigEntry( const QString& path = QString() ); | ||
46 | 63 | | |||
47 | // FIXME: get rid of this but stay backwards compatible | 64 | // FIXME: get rid of this but stay backwards compatible | ||
48 | void setDefines(const QHash<QString, QVariant>& defines); | 65 | void setDefines(const QHash<QString, QVariant>& defines); | ||
49 | }; | 66 | }; | ||
50 | 67 | | |||
68 | namespace Utils | ||||
69 | { | ||||
70 | enum LanguageType | ||||
71 | { | ||||
72 | C, | ||||
73 | Cpp, | ||||
kfunk: CPP -> Cpp | |||||
74 | ObjC, | ||||
75 | | ||||
76 | Other = 100 | ||||
77 | }; | ||||
78 | | ||||
79 | LanguageType languageType(const KDevelop::Path& path, bool treatAmbiguousAsCPP = true); | ||||
80 | } | ||||
81 | | ||||
51 | class SettingsManager | 82 | class SettingsManager | ||
52 | { | 83 | { | ||
53 | public: | 84 | public: | ||
54 | ~SettingsManager(); | 85 | ~SettingsManager(); | ||
55 | 86 | | |||
56 | QList<ConfigEntry> readPaths(KConfig* cfg) const; | 87 | QList<ConfigEntry> readPaths(KConfig* cfg) const; | ||
57 | void writePaths(KConfig* cfg, const QList<ConfigEntry>& paths); | 88 | void writePaths(KConfig* cfg, const QList<ConfigEntry>& paths); | ||
58 | 89 | | |||
59 | QVector<CompilerPointer> userDefinedCompilers() const; | 90 | QVector<CompilerPointer> userDefinedCompilers() const; | ||
60 | void writeUserDefinedCompilers(const QVector<CompilerPointer>& compilers); | 91 | void writeUserDefinedCompilers(const QVector<CompilerPointer>& compilers); | ||
61 | 92 | | |||
62 | bool needToReparseCurrentProject( KConfig* cfg ) const; | 93 | bool needToReparseCurrentProject( KConfig* cfg ) const; | ||
63 | 94 | | |||
64 | QString defaultParserArguments() const; | 95 | ParserArguments defaultParserArguments() const; | ||
65 | 96 | | |||
66 | CompilerProvider* provider(); | 97 | CompilerProvider* provider(); | ||
67 | const CompilerProvider* provider() const; | 98 | const CompilerProvider* provider() const; | ||
68 | 99 | | |||
69 | static SettingsManager* globalInstance(); | 100 | static SettingsManager* globalInstance(); | ||
70 | 101 | | |||
71 | private: | 102 | private: | ||
72 | SettingsManager(); | 103 | SettingsManager(); | ||
73 | CompilerProvider m_provider; | 104 | CompilerProvider m_provider; | ||
74 | }; | 105 | }; | ||
75 | 106 | | |||
76 | #endif // SETTINGSMANAGER_H | 107 | #endif // SETTINGSMANAGER_H |
indent