#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H #define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H #include #include "SourceGroupSettingsComponent.h" class SourceGroupSettingsWithSourceExtensions : public SourceGroupSettingsComponent { public: virtual ~SourceGroupSettingsWithSourceExtensions() = default; std::vector getSourceExtensions() const; void setSourceExtensions(const std::vector& sourceExtensions); protected: bool equals(const SourceGroupSettingsBase* other) const override; void load(const ConfigManager* config, const std::string& key) override; void save(ConfigManager* config, const std::string& key) override; private: virtual std::vector getDefaultSourceExtensions() const = 0; std::vector m_sourceExtensions; }; #endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H