30
30
#include <language/interfaces/idefinesandincludesmanager.h>
32
#include "settingsmanager.h"
32
#include "compilerprovider/settingsmanager.h"
34
class CompilerProvider;
36
36
/// @brief: Class for retrieving custom defines and includes.
37
class DefinesAndIncludesManager : public IPlugin, public IDefinesAndIncludesManager, public SettingsManager
37
class DefinesAndIncludesManager : public KDevelop::IPlugin, public KDevelop::IDefinesAndIncludesManager
40
40
Q_INTERFACES( KDevelop::IDefinesAndIncludesManager )
42
43
explicit DefinesAndIncludesManager( QObject* parent, const QVariantList& args = QVariantList() );
44
// NOTE: Part of a fix for build failures on <GCC-4.7
45
virtual ~DefinesAndIncludesManager() noexcept;
43
47
///@return list of all custom defines for @p item
44
QHash<QString, QString> defines( ProjectBaseItem* item, Type type ) const override;
48
KDevelop::Defines defines( KDevelop::ProjectBaseItem* item, Type type ) const override;
46
49
///@return list of all custom includes for @p item
47
Path::List includes( ProjectBaseItem* item, Type type ) const override;
50
KDevelop::Path::List includes( KDevelop::ProjectBaseItem* item, Type type ) const override;
49
52
virtual void registerProvider( Provider* provider ) override;
51
53
virtual bool unregisterProvider( Provider* provider ) override;
53
// NOTE: Part of a fix for build failures on <GCC-4.7
54
virtual ~DefinesAndIncludesManager() noexcept;
57
56
QVector<Provider*> m_providers;
57
SettingsManager m_settings;
60
60
#endif // CUSTOMDEFINESANDINCLUDESMANAGER_H