Config no longer depends on Flux/Image/Encode/Decode, breaking a circular

dependency.
This commit is contained in:
David Given
2024-10-12 01:49:13 +02:00
parent c6cbae4bc4
commit 7e80e255a4
30 changed files with 241 additions and 161 deletions

View File

@@ -243,13 +243,13 @@ std::unique_ptr<Filesystem> Filesystem::createFilesystemFromConfig()
std::shared_ptr<Encoder> encoder;
if (globalConfig().hasFluxSource())
{
fluxSource = globalConfig().getFluxSource();
decoder = globalConfig().getDecoder();
fluxSource = FluxSource::create(globalConfig());
decoder = Decoder::create(globalConfig());
}
if (globalConfig()->flux_sink().type() == FLUXTYPE_DRIVE)
{
fluxSink = globalConfig().getFluxSink();
encoder = globalConfig().getEncoder();
fluxSink = FluxSink::create(globalConfig());
encoder = Encoder::create(globalConfig());
}
sectorInterface = SectorInterface::createFluxSectorInterface(
fluxSource, fluxSink, encoder, decoder);
@@ -260,9 +260,9 @@ std::unique_ptr<Filesystem> Filesystem::createFilesystemFromConfig()
std::shared_ptr<ImageWriter> writer;
if (globalConfig().hasImageReader() &&
doesFileExist(globalConfig()->image_reader().filename()))
reader = globalConfig().getImageReader();
reader = ImageReader::create(globalConfig());
if (globalConfig().hasImageWriter())
writer = globalConfig().getImageWriter();
writer = ImageWriter::create(globalConfig());
sectorInterface =
SectorInterface::createImageSectorInterface(reader, writer);