#ifndef PROJECT_SETTINGS_H #define PROJECT_SETTINGS_H #include #include #include "settings/Settings.h" class ProjectSettings : public Settings { public: static std::shared_ptr getInstance(); ~ProjectSettings(); virtual void save(const FilePath& filePath); // source std::vector getSourcePaths() const; bool setSourcePaths(const std::vector& sourcePaths); std::vector getHeaderSearchPaths() const; bool setHeaderSearchPaths(const std::vector& headerSearchPaths); std::vector getFrameworkSearchPaths() const; bool setFrameworkSearchPaths(const std::vector& frameworkSearchPaths); std::vector getCompilerFlags() const; // extensions std::vector getHeaderExtensions() const; std::vector getSourceExtensions() const; bool setHeaderExtensions(const std::vector& headerExtensions); bool setSourceExtensions(const std::vector& sourceExtensions); private: ProjectSettings(); ProjectSettings(const ProjectSettings&); void operator=(const ProjectSettings&); static std::shared_ptr s_instance; }; #endif // PROJECT_SETTINGS_H