IStreamingReporter::list* only uses IConfig instead of full Config

As the full `Config` is not needed, the TUs implementing the `list*`
functions can require the less heavy header `catch_interfaces_config.hpp`
instead of the much heavier `catch_config.hpp`.

This commit also fixes up some other TUs that include `Config`,
while using just `IConfig`, to cleanup the includes further.
This commit is contained in:
Martin Hořeňovský 2020-08-11 09:34:25 +02:00
parent 24b83edf8a
commit 6dc8345261
No known key found for this signature in database
GPG key ID: DE48307B8B0D381A
11 changed files with 32 additions and 31 deletions

View file

@ -234,10 +234,12 @@ namespace Catch {
// Default empty implementation provided
virtual void fatalErrorEncountered( StringRef name );
// Listing support
virtual void listReporters(std::vector<ReporterDescription> const& descriptions, Config const& config);
virtual void listTests(std::vector<TestCaseHandle> const& tests, Config const& config);
virtual void listTags(std::vector<TagInfo> const& tags, Config const& config);
//! Writes out information about provided reporters using reporter-specific format
virtual void listReporters(std::vector<ReporterDescription> const& descriptions, IConfig const& config);
//! Writes out information about provided tests using reporter-specific format
virtual void listTests(std::vector<TestCaseHandle> const& tests, IConfig const& config);
//! Writes out information about the provided tags using reporter-specific format
virtual void listTags(std::vector<TagInfo> const& tags, IConfig const& config);
};
using IStreamingReporterPtr = Detail::unique_ptr<IStreamingReporter>;